{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys\n",
    "sys.path.append(\"../\")\n",
    "from initial_dataSet import DataSet\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.cluster import KMeans\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import torch\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1 - CICDM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# CICDM\n",
    "\n",
    "basedir = '../'\n",
    "dataSet_list = ('ASSIST_0910', 'ASSIST_2017','JUNYI', 'MathEC')\n",
    "\n",
    "for dataSet_idx in range(4):\n",
    "    data_set_name = dataSet_list[dataSet_idx]\n",
    "    dataSet = DataSet(basedir, data_set_name)\n",
    "\n",
    "    read_dir=dataSet.save_result_dir\n",
    "\n",
    "    cogn_state=np.loadtxt(read_dir+'cognitive_state.csv',delimiter=',')\n",
    "\n",
    "    cluster=KMeans(n_clusters=4)\n",
    "    cluster.fit(cogn_state)\n",
    "    labels=cluster.labels_\n",
    "\n",
    "    record=dataSet.record.reset_index()\n",
    "    mean_score=record.groupby(by='user_id')['score'].mean().to_numpy()\n",
    "    mean_cogn_state=cogn_state.mean(axis=1)\n",
    "\n",
    "    sorted_clust=[]\n",
    "    for clust_num in range(4):\n",
    "        sorted_clust.append(mean_cogn_state[labels==clust_num].mean())\n",
    "    maping=dict(zip(np.argsort(sorted_clust),range(4)))\n",
    "    \n",
    "    sorted_labels=np.vectorize(maping.get)(labels)\n",
    "\n",
    "    \n",
    "    data_i=pd.DataFrame({'cluster':sorted_labels,'mean score':mean_score,'mean proficiency':mean_cogn_state})\n",
    "    data_i.to_csv('./output/cluster/CICDM/'+data_set_name+'_cluster.csv',index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# CICDM-A\n",
    "\n",
    "basedir = '../'\n",
    "dataSet_list = ('ASSIST_0910', 'ASSIST_2017','JUNYI', 'MathEC')\n",
    "save_list = ('a0910/', 'a2017/', 'junyi/', 'math_ec/')\n",
    "\n",
    "for dataSet_idx in range(4):\n",
    "    data_set_name = dataSet_list[dataSet_idx]\n",
    "    dataSet = DataSet(basedir, data_set_name)\n",
    "\n",
    "    read_dir='./output/'+save_list[dataSet_idx]\n",
    "\n",
    "    cogn_state=np.loadtxt(read_dir+'cognitive_state.csv',delimiter=',')\n",
    "\n",
    "    cluster=KMeans(n_clusters=4)\n",
    "    cluster.fit(cogn_state)\n",
    "    labels=cluster.labels_\n",
    "\n",
    "    record=dataSet.record.reset_index()\n",
    "    mean_score=record.groupby(by='user_id')['score'].mean().to_numpy()\n",
    "    mean_cogn_state=cogn_state.mean(axis=1)\n",
    "\n",
    "    sorted_clust=[]\n",
    "    for clust_num in range(4):\n",
    "        sorted_clust.append(mean_cogn_state[labels==clust_num].mean())\n",
    "    maping=dict(zip(np.argsort(sorted_clust),range(4)))\n",
    "    \n",
    "    sorted_labels=np.vectorize(maping.get)(labels)\n",
    "    \n",
    "    data_i=pd.DataFrame({'cluster':sorted_labels,'mean score':mean_score,'mean proficiency':mean_cogn_state})\n",
    "    data_i.to_csv('./output/cluster/CICDM-A/'+data_set_name+'_cluster.csv',index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "save_list = ('a0910/', 'a2017/', 'junyi/', 'math_ec/')\n",
    "dataSet_list = ('ASSIST_0910', 'ASSIST_2017','JUNYI', 'MathEC')\n",
    "models=['CICDM-A','CICDM']\n",
    "model_data={}\n",
    "for model in models:\n",
    "    data=[]\n",
    "    for dataName in dataSet_list:\n",
    "        data_i=pd.read_csv('./output/cluster/'+model+'/'+dataName+'_cluster.csv')\n",
    "\n",
    "        a=data_i.loc[:,['cluster','mean score']]\n",
    "        a.columns=['cluster','mean']\n",
    "        a['mean name']=['score']*len(a)\n",
    "\n",
    "        b=data_i.loc[:,['cluster','mean proficiency']]\n",
    "        b.columns=['cluster','mean']\n",
    "        b['mean name']=['proficiency']*len(a)\n",
    "\n",
    "        cat_data=pd.concat([a,b])\n",
    "\n",
    "        data.append(cat_data)\n",
    "    model_data[model]=data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 504x864 with 8 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "y_label=['ASSIST0910','ASSIST2017','JunYi','MathEC']\n",
    "titles=['DCD-A','DCD+']\n",
    "x_label=['poor','medium','good','excellent']\n",
    "palette=['#ffffff','#4884af']\n",
    "\n",
    "sns.set_style('whitegrid')\n",
    "\n",
    "fig,axes = plt.subplots(4,2,sharey=True,figsize=(7,12))\n",
    "plt.subplots_adjust(wspace=0.15,hspace=0.2)\n",
    "\n",
    "for j in range(2): # 模型\n",
    "    data=model_data[models[j]]\n",
    "    for i in range(4): # 数据集\n",
    "        sns.boxplot(x='cluster',y='mean',hue='mean name', data=data[i],orient='v',ax=axes[i,j],showfliers=False,\n",
    "                    palette=palette)\n",
    "        axes[i,j].legend(prop={'family':'Times New Roman', 'size': 12})\n",
    "        axes[i,j].set_xlabel(None)\n",
    "        axes[i,j].set_xticks([0,1,2,3])\n",
    "        axes[i,j].set_xticklabels(x_label,fontdict={'family':'Times New Roman', 'size': 12})\n",
    "        axes[i,j].set_yticks(np.array([0,0.2,0.4,0.6,0.8,1]))\n",
    "        axes[i,j].set_yticklabels(np.array([0,0.2,0.4,0.6,0.8,1]),fontdict={'family':'Times New Roman', 'size': 12})\n",
    "        if j==0:    \n",
    "            axes[i,j].set_ylabel(y_label[i],fontdict={'family':'Times New Roman', 'size': 15})\n",
    "        else:\n",
    "            axes[i,j].set_ylabel(None)\n",
    "        if i==0:\n",
    "            axes[i,j].set_title(titles[j],fontdict={'family':'Times New Roman', 'size': 15})\n",
    "\n",
    "fig.savefig('./output/mycdm_box.jpg',dpi=1200,bbox_inches='tight')  \n",
    "plt.show()  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2 - Baseline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# DINA\n",
    "\n",
    "basedir = '../'\n",
    "dataSet_list = ('ASSIST_0910', 'ASSIST_2017','JUNYI', 'MathEC')\n",
    "save_list = ('a0910/', 'a2017/', 'junyi/', 'math_ec/')\n",
    "\n",
    "for dataSet_idx in range(4):\n",
    "    data_set_name = dataSet_list[dataSet_idx]\n",
    "    dataSet = DataSet(basedir, data_set_name)\n",
    "\n",
    "    read_dir='../Baseline/DINA/output/'+save_list[dataSet_idx]\n",
    "\n",
    "    cogn_state=np.loadtxt(read_dir+'cognitive_state.csv',delimiter=',')\n",
    "\n",
    "    cluster=KMeans(n_clusters=4)\n",
    "    cluster.fit(cogn_state)\n",
    "    labels=cluster.labels_\n",
    "\n",
    "    record=dataSet.record.reset_index()\n",
    "    mean_score=record.groupby(by='user_id')['score'].mean().to_numpy()\n",
    "\n",
    "    mean_cogn_state=cogn_state.mean(axis=1)\n",
    "\n",
    "    sorted_clust=[]\n",
    "    for clust_num in range(4):\n",
    "        sorted_clust.append(mean_cogn_state[labels==clust_num].mean())\n",
    "    maping=dict(zip(np.argsort(sorted_clust),range(4)))\n",
    "    \n",
    "    sorted_labels=np.vectorize(maping.get)(labels)\n",
    "    \n",
    "    data_i=pd.DataFrame({'cluster':sorted_labels,'mean score':mean_score,'mean proficiency':mean_cogn_state})\n",
    "    data_i.to_csv('./output/cluster/DINA/'+data_set_name+'_cluster.csv',index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# NCD\n",
    "\n",
    "basedir = '../'\n",
    "dataSet_list = ('ASSIST_0910', 'ASSIST_2017','JUNYI', 'MathEC')\n",
    "save_list = ('a0910/', 'a2017/', 'junyi/', 'math_ec/')\n",
    "\n",
    "for dataSet_idx in range(4):\n",
    "    data_set_name = dataSet_list[dataSet_idx]\n",
    "    dataSet = DataSet(basedir, data_set_name)\n",
    "\n",
    "    read_dir='../Baseline/NCD/output/'+save_list[dataSet_idx]\n",
    "\n",
    "    cogn_state=np.loadtxt(read_dir+'cognitive_state.csv',delimiter=',')\n",
    "\n",
    "    cluster=KMeans(n_clusters=4)\n",
    "    cluster.fit(cogn_state)\n",
    "    labels=cluster.labels_\n",
    "\n",
    "    record=dataSet.record.reset_index()\n",
    "    mean_score=record.groupby(by='user_id')['score'].mean().to_numpy()\n",
    "\n",
    "    mean_cogn_state=cogn_state.mean(axis=1)\n",
    "\n",
    "    sorted_clust=[]\n",
    "    for clust_num in range(4):\n",
    "        sorted_clust.append(mean_cogn_state[labels==clust_num].mean())\n",
    "    maping=dict(zip(np.argsort(sorted_clust),range(4)))\n",
    "    \n",
    "    sorted_labels=np.vectorize(maping.get)(labels)\n",
    "    \n",
    "    data_i=pd.DataFrame({'cluster':sorted_labels,'mean score':mean_score,'mean proficiency':mean_cogn_state})\n",
    "    data_i.to_csv('./output/cluster/NCD/'+data_set_name+'_cluster.csv',index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# CDGK\n",
    "\n",
    "basedir = '../'\n",
    "dataSet_list = ('ASSIST_0910', 'ASSIST_2017','JUNYI', 'MathEC')\n",
    "save_list = ('a0910/', 'a2017/', 'junyi/', 'math_ec/')\n",
    "\n",
    "for dataSet_idx in range(4):\n",
    "    data_set_name = dataSet_list[dataSet_idx]\n",
    "    dataSet = DataSet(basedir, data_set_name)\n",
    "\n",
    "    read_dir='../temp_Baseline/CDGK/output/'+save_list[dataSet_idx]\n",
    "\n",
    "    cogn_state=np.loadtxt(read_dir+'cognitive_state.csv',delimiter=',')\n",
    "\n",
    "    cluster=KMeans(n_clusters=4)\n",
    "    cluster.fit(cogn_state)\n",
    "    labels=cluster.labels_\n",
    "\n",
    "    record=dataSet.record.reset_index()\n",
    "    mean_score=record.groupby(by='user_id')['score'].mean().to_numpy()\n",
    "\n",
    "    mean_cogn_state=cogn_state.mean(axis=1)\n",
    "\n",
    "    sorted_clust=[]\n",
    "    for clust_num in range(4):\n",
    "        sorted_clust.append(mean_cogn_state[labels==clust_num].mean())\n",
    "    maping=dict(zip(np.argsort(sorted_clust),range(4)))\n",
    "    \n",
    "    sorted_labels=np.vectorize(maping.get)(labels)\n",
    "    \n",
    "    data_i=pd.DataFrame({'cluster':sorted_labels,'mean score':mean_score,'mean proficiency':mean_cogn_state})\n",
    "    data_i.to_csv('./output/cluster/CDGK/'+data_set_name+'_cluster.csv',index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "save_list = ('a0910/', 'a2017/', 'junyi/', 'math_ec/')\n",
    "dataSet_list = ('ASSIST_0910', 'ASSIST_2017','JUNYI', 'MathEC')\n",
    "models=['DINA','NCD','CDGK']\n",
    "model_data={}\n",
    "for model in models:\n",
    "    data=[]\n",
    "    for dataName in dataSet_list:\n",
    "        data_i=pd.read_csv('./output/cluster/'+model+'/'+dataName+'_cluster.csv')\n",
    "\n",
    "        a=data_i.loc[:,['cluster','mean score']]\n",
    "        a.columns=['cluster','mean']\n",
    "        a['mean name']=['score']*len(a)\n",
    "\n",
    "        b=data_i.loc[:,['cluster','mean proficiency']]\n",
    "        b.columns=['cluster','mean']\n",
    "        b['mean name']=['proficiency']*len(a)\n",
    "\n",
    "        cat_data=pd.concat([a,b])\n",
    "\n",
    "        data.append(cat_data)\n",
    "    model_data[model]=data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfcAAAK8CAYAAADyAvYVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAADAY0lEQVR4nOzdeVxU9frA8Q8MMLIJyKLglrghuF5Au27kll3zumW3m2bazbKuZdmmpS1qmnpNLVu83kqzvJZl5lLuSy6ZCnpLEnPBBURQBFR2mJnfH/4YQWaGYZjlMDzv18uXzJwz5zwz88x5zvme7/keF51Op0MIIYQQTsPV0QEIIYQQwrqkuAshhBBORoq7EEII4WSkuAshhBBORoq7EEII4WSkuAshhBBORoq7EEII4WTcHB1AXXfs2DHee+89Dh48SFxcHE2aNCE3N5fU1FR69+7NP/7xDzw8PPjpp5949913OX36NDNmzCA8PJwtW7bwxRdfMHHiRCZNmqRfZn5+Pnv27OHNN9/klVdeoX///gQEBFRY70cffUTPnj3p2LGjvd+ysKPc3Fw2btzIhx9+SEBAAKtXr8bHx0c//ejRoyxZsoQGDRrwxBNPEBERweXLl/n0008pKSnB19cXnU6Hp6cnx48f59///jcHDhxg3rx5nD9/np49exIaGkp2djZXrlzhL3/5Cw8//DCurq4UFBSwadMm3n77bUJCQtiyZQsqlapSjD/++COTJ09m8ODB+hhE7ZeTk8Onn35KdnY2fn5+uLi4oFKpuHLlCn/729/M2u6Vl5aWxieffAKAr68vpaWlFBYWkpeXx+zZsykqKmLbtm3MnDmT+vXr8+qrr3Lvvfdy6dIlXn75ZVJSUnjqqacYNmxYhd+A09IJh/v666917dq1q/DcxYsXdffff79u+PDhuvz8fJ1Op9MtWrRI16dPnwrzPfvss7q2bdvqNm/eXGm5zz//vMH1FRcX63r27Kl7+eWXrfQOhNLt3r1b16ZNG91TTz2l02q1FaatWbNG9/PPP+t0Op3ut99+08XFxemOHDlSYZ7jx4/r/vSnP+kfL1y4UNe/f/8K8/z++++6Xr166Z588kmdRqPRPz9u3Dhd27ZtdT/88IPB2EaNGqVr06aNPgZR+6WkpOj69u2r27JlS4XnL168qOvdu7cuJSXF7O2eTqfT/frrr7q+ffvq/ve//1WY/+rVq7rBgwfrMjMz9c89/PDDuqlTp+ofZ2Rk6MaOHatLT0+35ltUPGmWVwA3t8oNKE2bNuWjjz7i1KlTfPjhhwCoVKpKRz5eXl4MHDiQqVOnkpSUVGGaWq02uL4tW7bQrFkzNm/eTFZWlpXehVAyT09P7r33Xvbs2cOiRYsqTFOpVLi6ulJcXMxzzz3HsGHDiImJqTBP+/bteeaZZ/SPDeVsZGQk7777Lnv27OHrr7/WP9+wYUPuuece/vOf/1R6zcGDB/VH6q6usjlyFi+99BJ/+tOfGDhwYIXnmzZtyrRp0wDzt3u5ubk8//zz/P3vf6dTp04V5g8KCmLGjBncuHFD/1xZPgNkZmYyc+ZM/vWvf9GwYUOrvkelk1+TgjVr1owePXqwdu1ak/PNmzePli1b8s9//pNr165VudwtW7bwwQcf4ObmVmEjLJxbnz59ePHFF/n3v//Npk2bKk3fsWMHly5d4r777jP4+r///e9VriM2NpbWrVtXytnx48dz4sQJ9u3bV+H5r776yqzlitrj119/5dixY5UKe5n+/fsTEhJi9PV3bvfWr1/PpUuXePDBBw3O/6c//YkWLVpUev7y5ctMnz6d119/neDgYAveSe0mxV3hWrVqRVZWFtevXzc6T7169fjoo4/QaDQ888wzFBcXG533f//7H1FRUQQEBDB8+HC++uorSktLbRG6UKDx48czYsQIpk2bxvHjxytMK3vcpEkTg6/19PQ0ax2tWrXi3LlzFZ6LiYmhc+fOLFu2TP/cyZMnady4Mb6+vtV5C0LhyvKoadOmBqe7urpWOp9+p/LbvUOHDuHv74+/v3+FeVJSUvjggw946aWXWLx4MRkZGfppFy9eZNSoUTz66KN17oi9jBR3hXNxcQFAo9GYnK9hw4Z8/PHHJCUl8dZbbxmd7+uvv9YfKY0ePZr09HR27NhhtXiF8s2YMYMOHTowceJErl69qn8+Ly8PAHd39xot38XFBa1WW+n58ePHc/jwYX777TcAPv/8c8aOHVujdQnlKcsjQ83u5iq/3cvPz6ekpKTSPE2bNmXgwIFs3LiRTp06VSji9evXx8/Pj1deeYWzZ89aHEdtJsVd4c6cOUNwcDANGjSoct6oqCjmz5/Pd999x4oVKypNz8jI4I8//uCzzz5jwYIFrFu3jrCwML788ksbRC6UysPDgyVLlqBWq5k4caK+pSc8PBy4ddRTE2fOnKFNmzaVnu/Xrx8tWrRg2bJlpKWloVKp6uxRlTNr2bIlcOvI2lLlt3tt2rQhLy+P8+fPV5qvrNXHy8urwvP+/v6sWLGC4OBgxo4dWycLvBR3BUtLS2P//v089NBDZr/m3nvvZfLkycyfP58zZ85UmPbf//6X2bNn89JLL+n/TZkyhSNHjnDy5Elrhy8ULCAggKVLl5KcnMwHH3wAwP3334+npyfr1683+JrLly9XaPo05H//+x+nTp0ymLOurq48/vjj7Ny5k5kzZ8pRu5Pq1asXISEhRvPo5s2bJovtndu9v//976jV6mofhJQV+JCQkDpZ4KW4K4ChJvcrV67wzDPPEBMTw4QJEwAoLS2tNK9Go6l0znzChAkMHjy4Qk/43Nxc/vjjD9q1a1dh3v79+xMUFMTy5cut9XaEAmm12kq507JlSxYvXqzPk+DgYGbNmsXnn3/O999/X2HelJQUdu7cqT/SNtRPIzk5mRdeeIFhw4YxYsQI/fNFRUX6v4cOHUpgYCA6nY7WrVtXWFZVp55E7aBWq1mwYAE7d+7kP//5T4XvNSsri9WrV9OiRQuzt3vNmjVj7ty5fP3115XyUqfTVVpGaWmp/rSQn58fK1asIDAwkEcffbTSFUXOTAaxcbD4+Hg2bNiAVqtl6tSpBAcHk5eXR0pKCiNHjuTBBx/E3d2dn376iV27dpGRkcGqVasYOHAgCQkJHD58mP/85z8MHTqUsLAw/XLffvttXnvtNQBSU1OZPXs2ly5d4siRI8TGxurnO3LkCAAbNmygZcuWjB49Gm9vb/t+CMKmTpw4wZo1a8jKyqJFixYVLnPr2bOn/tIkgL/+9a+Ehoby73//m5UrV3LXXXcRGBhImzZteOSRRwD0uXj16lWmT59OgwYNyMnJISMjgxdeeIHBgwcDtwZT2rFjB/v27ePrr79mwIABNGjQgEcffZQuXboAt3YI/vvf/wLw7bff4u/vT2RkpL0+GmEj3bp149tvv+WDDz5gxIgRNG/enJCQEJo0acI//vEPjh49atZ2r8ygQYNo1aoVn332Gbt27aJZs2aoVCouXrzIm2++SceOHcnNzWXbtm2cPHmSy5cvs2HDBv7617+i1WoJCwvj5MmT/P3vf2fs2LEMGTKEVq1aOfATsj0XnaFdHyGEEELUWtIsL4QQQjgZKe5CCCGEk5HiLoQQQjgZKe5CCCGEk6nVveX/97//Gb05iqjbioqK6Ny5s1WXKfkmjLF2vkmuCVPMybdaXdzVanWl67aFAGxyPavkmzDG2vkmuSZMMSffpFleCCGEcDJ2PXIvKCjgs88+Iysri9dff73S9LNnz/LNN9+gVqvp2rUrPXr0sGd4QgghhFOwa3HPzc2ltLRUf9eg8nQ6Ha+99hqffvopPj4+jB07ltjY2CpvDSiEEEKIiuzaLB8cHGz0XtG//vorKpUKHx8fAJo3b86WLVvsGZ4QQgjhFOzeoa7sPr13+v333wkMDNQ/DgoKsvguPjt37mT79u0AZGdnA7fuglVmwIAB9OvXz6JlWysOe8WgpDiclRI+3/IxODIOYVu1YdumlDjq+jZWMb3lb968Sf369fWP3dzcuHr1qsnXFBUVGew1mJaWpm/6z8zMBKjQvJ+WlmaXuwOZisNeMSgpjtrOknxzRK45Mg5hHbV526aUOOr6NtbuN4757rvvOHz4MHPnzq3w/OrVq0lISGDBggUALFy4kJKSEqZMmWJ0WUlJSVVeLjJ16lSASuuzN4nDvszJDVssUymfr1LiqCusnW+SaxKHKebkh2IuhYuIiODKlSv6x+np6URFRTkwIiGEEKJ2sntxv7Oh4ODBgxQXF9O5c2dyc3MpKCgAbt2DvE+fPvYOTwghhKj17Frcr169ypEjRzh16pS+s9ycOXM4f/48Li4uzJw5k3fffZcPP/yQ559/Hm9vb3uGJ4QQQjgFu3aoCw4OrnQeYuPGjfq/27dvT/v27e0ZkhBCCOF0FHPOXQghhBDWoZhL4YRzk+uw6wb5noVQBjlyFw6RnZ2t3/AL5yXfsxCOIUfuwi769etX4YhNKdekCuuS71kIZZAjdyGEEMLJyJG7EMLpKGXscyEcRY7chRBOTc77i7pIjtyFEE6n/Ll/Oe8v6iI5chdCCCGcjBR3IYQQwslIcRdCCCGcjBR3IYQQwslIcRdCCCGcjPSWF0LUyLJly0hOTjY4rez5sh7r5YWHh/Pkk0/aNDYh6iop7kLRZDAS5UtOTiY5OZnw8PBK08p/V3e+RghhO1LcRa1hqLgLZQgPD6/WdeSGjuRrylgLgqnWA5AWBOGc7Frc4+Pj2bt3LyUlJQwZMoR27dpVmP7555/j5ubG9evXadOmDf3797dneMLKrNFcK4ORGCfN4RUZa0EwtTMoLQjCWdmtuOfn5zN//nxWr16NRqNh/PjxrFy5Uj89JSWF+Ph4lixZgk6nY9CgQVLcazlprrUt+XwrU0ILghBKYLfivnv3bpo3b45KpUKlUuHu7k5CQgLR0dHAreJ//Phx8vLy0Ol0eHh42Cs0p2PpER1Y/6hONra2pYTPt2zs9uosOzk5WU6vCGFDdivuiYmJBAYG6h8HBQWRnJysL+5t27YlKiqKCRMm0KVLFxYsWGCv0JyOJUd0Za8TQghhmpIOoIyxW3HPzc0lNDT09ord3Lh27VqFeWbOnMkDDzxAQUEB48aNq3KZRUVFJCUlmZwnLy8PoMr5bM2eceTl5VX7iA5uJWNeXp7VYszLy8Pb29ui1xmKwdHfpdLyzdqfr6U8PDwsakGwdhxK+TysQWm5JnFUdPz4cTIyMiw6gLJXvtmtuPv5+VFUVKR/XFhYiK+vr/5xaWkp8+fPZ+PGjbz88ss8/fTTfP3117i4uBhdplqtrtQp705lP/aq5rM1e8ZhyQau/GutFaOlcRiLoTqfoS1+PErLN2t/vrU9juLiYjIyMiw6PVDTOKydb0rLNYmj8rosPYCCmsdoTr5VOUJdSkoKb775JgMHDqRTp0786U9/YtCgQcyePZtLly6ZHUxERARXrlzRP05PTycyMlL/eN++ffj4+ODr68uiRYvIzMx0+J6gEEIIURuZPHI/ePAgs2bNolu3bowZMwYfHx+0Wi03btzgwoULPPHEE7z11lt07dq1yhX17duX5cuXo9VqKS0tRaPREBUVxYEDB+jRowf+/v7k5+cD4OnpSfv27QkKCrLOuxQOIR2thD0FBAQQEBDg8A6G1ibX799WG851K4XJ4v7DDz+wYcMG3NwMz1ZcXMzcuXPNKu5eXl5MmjSJhQsXolKpmDVrFunp6cyYMYOtW7fSpUsXjhw5wtdff42bmxsDBgwgJCTEsnclhBBOQq7fv006C5vPZHH39fU1WtjhVkeaBg0amL2yuLg44uLiKjy3bds2/d91aa+qLrD0SCotLc3g3rfsmVekpJaR5ORkg3EYG1XQ2AZaGKaESx6VoibnuusSk8Xd39+fGTNmcP/999O0aVP8/f1Rq9XcuHGDs2fPsmvXLnQ6nb1iFXVEYWEhx0+cxNXLv8LzOs2tLiK/n0+v9Bptfo4dIhOGmCrSxop7eHi4FPdaRk4P1C4mi/uECRNYsWIFEydO5MaNGxWmBQYG8uijjzJ+/HibBljbyA/AOly9/PGMMv+GMAW/77RhNMqklHPMpvLW3kMGG2pBMHVPAmlBMJ+cHqhdqrwUbty4cYwZM4bff/+dy5cv4+LiQqNGjYiMjDTZZG9vSimq8gMQwjGMFWlTxV1aEKpHTg/UHmZVZ5VKRceOHenYsaOt47GYkoqq/ABqpqSkBK0mp1pH49r8HLKz1TaM6jbpsatMxj5XueGQqItqfOh948YN6tevb41YakyK6i2WdLQC23S2sqSjldJJj10hhNLVuLhv3LiR0aNHWyMW4WQs7WiVlpZGdrFrtc+52/P6eOmxK4RQMpPFfcCAAaSmpla5ECnuymJJRyuwfvGxtKPV1KlTyTbQI14IIYR5TBb3xx57jMzMTGJjY1GpVJWma7VaNm/ebLPghBBCCFF9Jov7yJEjSU5OJiIiwug8DRs2tHpQQgghhFIpqV+TMSaLu4eHh8nCDtCiRQurBiSUYefOnWzfvl3/+M5z5AMGDKBfP/PPiVeXNr9yb3ldSSEALu71DM4PjWwWjxBC1CbKuVBdKJqpa4WtzVhHvLLe5uF3GSrijerk9coy7KvzU9Iww+IWpfRrMqXK4n7y5EmWL1/O77//joeHB61atWLkyJFm3SxG1F79+vWrcGRuz2uF5Xpl88iwr0IIY6q85evUqVOJi4tj4MCBnDhxgp9//pmNGzcyePBgZs2aRb16lZtIhRC2p6RhX4XtKGWYYVG7mCzu69ev54cffsDHxwe4dYvXr7/+ms6dO7Nw4UJeeOEFPvroI7sEKoQQtla+r4m9+5konRJOD9SGjmxK4WpqYpMmTfSFHW51sDt69CgdOnRg+fLltG3blrVr19o8SCGEsLeyQiJEbWTyyP3SpUv8/vvvtGvXjsuXL/Pxxx9TXFysn/7cc8+xePFiW8dYpzi6l7oQdVn5viZyaqMiJZweqA0d2ZTCZHGfOHEiTz/9NGfOnAGgfv36LF++vMI8VV0qV158fDx79+6lpKSEIUOG0K5du0rzpKSksH79esLDw+ndu3eFlgNbU2KTnD17qQshhHAOJot7kyZN+P777zly5Ai5ublER0dXKjK9e/c2a0X5+fnMnz+f1atXo9FoGD9+PCtXrqwwT3JyMrNnz+aDDz7A09Ozmm/FuhxVVB3ZS12Imrqz5enOu+QpreVJ7vAnnFWVl8KpVCpatGjB4cOH+fbbb3Fzc6Nhw4bcfffdNGjQAC8vL7NWtHv3bpo3b45KpUKlUuHu7k5CQgLR0dEA6HQ6XnzxRebOnWtRYbdGZw9napKr7vXPZa+Ry6SENSm9xSkhIYHU1EugMrAp1GoBOH7iZOVpmlI5Hy8UzWRxLykpYdasWaxduxYfHx98fHzQ6XRcv36doqIiRo4cybRp03B3d69yRYmJiQQGBuofBwUFkZycrC/uBw4c4Pr168THx/PRRx/x0EMP0b17d5PLLCoqIikpSf+3Jcovo7y8vDwAg9NMycvLw9vbu9px5OXlWS0Of39/GjZsqH9teZmZmcCtzpF3atiwIf7+/lb9PIyxZHnWjqG6ynLF0u8YjH/P1uaozyosLIyxY8eanMceMcXHx3P48GEA0tLSAHj22Wf107t27UpMTMyt7YbKDVcv/2otX5ufY3TbYQ3ll23tbYqllBCHNX575XMD4ObNmwD4+voCt3PD1nHYmsni/q9//Yv27dvz/PPP06BBgwrTsrKy2LZtGwsXLmTKlClVrig3N5fQ0NDbK3Zz49q1a/rHhw4dolu3bowePZr27dszbtw4tm/fTlBQkNFlqtVq/Xn7Ro1ujVpmSWcPQ+f+y744Q9NMsfQL9/b2tlocpua1tEXC0s+jpssr38ybkZEBwOeff66fbqyZ1xY/nrJ8Ky4uJiMjw+LLcaz1GZpi7e/L1qzd3yUtLU3/GZRtQ8r/NsPCwmjXrh2NGjXiWiHVur0w3LrFcKNGjfSfr7Xzrfy2zdrbFEtZI46afs+WxlA+jvK5Abe3K2U1pCw3bB2Hqc8CTH8e5uSbyeKuVqv529/+ZnBagwYN+Pvf/272de5+fn4Vjq4LCwv1e0pw6801a9YMgE6dOtGwYUOOHTvGgAEDzFq+UijhWlBLWXr+0V7nHpXwGQnbs0Z/lzv7rphi6D4GIPcysDXp13SbLT4Lk8X92rVrZGRkGL3z240bN/RNXlWJiIjgwIED+sfp6elERkbqHzds2FDfZAwQEhKCWq02a9nCOpKTkzl+4qTBJkqd5taQCL/fcZ/1Wxs526nORtpe5HIc63NUfxdTfUzkXgbW50z9mmrK1p+FyeL+xBNP8MgjjxAWFkbTpk3x9/enXr16XL9+neTkZM6dO8d7771n1or69u3L8uXL0Wq1lJaWotFoiIqK4sCBA/To0YNBgwbx8ssvA7c61+Xn59fK8euVcC1oTbh6+VeridLQEY8QtYUM4Suclcni3qJFC9avX8+aNWs4cOAAv/76K3Dr3MQ999zD4sWLKzStm+Ll5cWkSZNYuHAhKpWKWbNmkZ6ezowZM9i6dSstW7ZkzJgxvP/++3h4ePDiiy/KuPV2lp2dbbSJ0hhtfg7Z2VW3sNS2S6SEbSn1ErTyeepMOarEMTyEbZks7idP3roE5IEHHmDcuHE1XllcXBxxcXEVntu2bZv+7+HDh9d4HaJ2kPPnylCTTj01YckpILD9aaDynDVHZWCsusFkcX/44YdZuHAhrVu3tlc8woECAgJIu15U7WZ5czYSSjx3Liqy50bf1DXihjqwmfvamnLWPJVz3XWPyeLeu3dv+vTpY3IBRUVF0vGthtLS0igsLDTYDKmEXurCeTl0o68pNXwk/v+Dx+Bq4L5WmlKbhiSEszBZ3M0ZfW7Hjh3cf//9VgvIniwtqmDdwlpYWEheYbHBZkhH9VIXzsvY+W575ryhoazvjMNYb3TppV57KOXAxRZxWDIKaFJSEmq1utLrbPHbM1nc9+/fzz/+8Q+j00tLS0lKSqq1xd2Sogq2KaxK6aVe3Wt+5XpfyzjqXDeYGHLVjsOtSi/1ukEpBy7WjsPUDqap4q5Wqw3GYYt6Y7K4e3p6Gr3GHUCj0XDx4kWLVqwU1S2q4LyXf1l2za9c71tT0sHJeXupC+UcuFgzDkt3TqdOncrv59Pt8nmYLO7R0dG88847JhdQvre7sExJSQlajW0uQasOOZqyrXPnzpGfn19p1MeCggKACk3l//73v/n3v/8NQJs2bXj77betFoexJnGlNIfX5Z0cYww1ATviJlDVjSM/Px+da7HDt21K2cba8nLjO5ks7mUD6ptS24aHFcJRiouL0Wq1Bm/oAxh9/urVq1aNo/xO3J3jD9zJXkfNztpL3RqMFWlTRTU8PNzqxd2SONzd3SnW6KwahzCPyeK+Z88eVqxYwdChQ43uTbu4uNgkMHuwZG8OrL9H5+7uTqnayyaXoAnl8PX1pbCwkPDwcP09COD2kXv5Wx2XjXQIcsRc1xlrUTPVmlbWadKanYUticPSZmhTuWhJR7bS0lJcvQMdvo215eXGdzJZ3BMTE6u9QCGEYWFhYcCtjaAjO9SVJ0fMzklJgwRZs5OupR3ZPD09KTAzXlsz9HnY4iZFJot7bm6u/m+1Wo27uzt5eXl89NFHnD9/ngEDBjBs2LBqr1QpLDliBtvs0Ukv9brF2kVVhvcVd1JCZ2Frd9KtSUe24ydOOnwba+x92eImRSaLe0xMDEFBQYwbN46//OUvNG7cmGeffZaDBw/SvXt3PvvsM/Ly8hg9enS1V6wUSrjdY9kY+oa+WOmlLiwhTex1myUdt8D6pxyV0klXKVcCWXJqw1Imi3u9evX473//q7/P+ubNm/n55595/vnneeqppygpKWHSpEm1trhbVlTB2l96+ebaO0kvdWEOaV4Xwjil7GTYU5XDz5YVdo1Gw+LFi2ndujUTJkwAbjVrBwcH2z5KM1X3Mo2yzk1SVIUQzsSSjlsgHXWdicni7ufnp//7iy++4OLFiyxbtqxCD3mlDGKjlMtFRN1gSY9dW117LIQhSjjlKBzHZHFXq9UsX74cb29vFi1axL333kuvXr3003fu3Mnhw4dtHqQ57HkuQ9RtlvbYlZ1JYS+WnWMG6cvjPEwW95deeokFCxbwyy+/MHjwYKZNmwbcOlr//vvvOXjwIB06dDB7ZfHx8ezdu5eSkhKGDBlCu3btDM73xhtv0LlzZ0aMGFGNtyKsSXpfG1cXz9+J2kVyVFTZoW769OmVnm/WrBmTJk1i0qRJZq8oPz+f+fPns3r1ajQaDePHj2flypWV5vvtt9/YtWsXnTt3NnvZSqOUoSKtSc7DCSFE7WGyuB88eJA///nPJhfw008/ERcXV+WKdu/eTfPmzVGpVKhUKtzd3UlISCA6Olo/j1arZfv27fTs2dPM8JXHWc79S+9rIYSovUwW93nz5tG/f3/c3AzPptFo2Llzp1nFPTExkcDAQP3joKAgkpOTKxT377//nuHDh7Ns2TJz41ccOfcvhBCGKeHuf0o55Wjqs7BGHCaL++nTp8nJycHV1dXgdI1GY/ZNLXJzcwkNDb29Yjc3rl27pn+cnZ1NTk5OtY5gi4qKSEpKMjlP2c04qprPWq9z1jiEbfNNiPKsnWvx8fH6zs9paWkAPPvsswB07dqVmJgYi2OtThxpaWn6+b28vCq8Pi0trUa/G3PjKB+DUuK4MwZrxGGyuE+bNo1Ro0aZXMBXX31l1or8/PwoKirSPy4sLMTX17fCcsaNG2fWssqo1WqjnfLKeHt7A1Q5n7Ve56xx1Da2KK62zDdRu1k736yda2lpafr5g4KCKrw+LCysRvlanTjatWvHmDFjLF6XNeKwZQz2isOcfDNZ3P/yl79UuYB7773XrGAiIiI4cOCA/nF6ejqRkZH6x6tWreKbb74Bbh3F7969G61Wy8iRI81avjVIk5EQwhlJH5q6x2RxN9T5S6PR8PXXX3P+/Hn69etHt27dzFpR3759Wb58OVqtltLSUjQaDVFRURw4cIAePXqwf/9+/bxTp06la9euDr0UTim9w5UShxBCiNrDZHHv2rUrnp6eDBs2jKFDhxIeHs7UqVPZtGkTzZs3Z8uWLUybNo2BAwdWuSIvLy8mTZrEwoULUalUzJo1i/T0dGbMmMHWrVsVcV94JezdKiEGIYQQtZvJ4p6fn88nn3xCx44dAfj555/ZuHEjDz/8MG+++SY3b97kpZdeMqu4A8TFxVXqWb9t27ZK80mPciGEEMJyhrvB/7+ePXvqCzvAu+++S1hYGK+++ioAvr6+NGok4xALIYQQSmKyuDds2FD/9/r16/n999954YUX8PDw0D+fkZFhu+iEEEIIUW0mm+WLi4vZtm0b3t7ezJ49m9jYWAYPHqyf/ttvv1XoCCeEEEIIxzNZ3F955RVeffVVDh06RKdOnVi4cCFw+8YxGzduxN/f3x5xCiGEEMJMVV4Kt3Tp0krPW3LjGOE4Srh+XwghhP2YLO7GnD59mgsXLhATEyNH7rWMXDcvhBDOz2Rxf+aZZwBo2bKl/jr3lStXMnfuXLRaLQEBASxfvpyIiAi7BCssI9fOCyFE3WKyuO/YsYPXX3+d0aNHA3D+/Hnmz59P586dWbx4MZcvX+a9997j448/tkuwSlNSUkJqaiqFhYVVzjtkyBBAbihiTfXq1aNJkya4u7s7OhSb02q1ZGZmkpOTg0ajcXQ4dVJdyrfauG1zpjhUKhX+/v4EBQUZvXFbVUwW906dOukLO8CiRYvw8PBg8eLFhISEEBISQnBwsEUrdgapqan4+vpy1113VTnCXmpqKgBNmjSxR2hOT6fTce3aNVJTU2nRooWjw7G51NRUXFxcuOuuu3B3d1fEiI51SV3Mt9q2bXOWOHQ6HSUlJWRkZJCamkqzZs0sWo7JXYLyze2//vorW7du5fHHHyckJET/fPlb1NU1hYWFBAYGyobWAVxcXAgMDDTryMIZ5OXl0bhxYzw8PCTfHKCu5Zts2xzHxcUFDw8PGjduXKP6avLI/fr161y9ehW1Ws20adNo3Lgx48eP10/Pyspi3759Fq/cGUjyO05d++wtbZ4T1lHX8q2uvV+lqenv3WRxf+qpp3jooYfIycnB3d2d//znP6jVaq5fv86+fftYunQpN2/erFEAQgghhLAuk8U9IiKCH3/8kdOnT9OiRQt8fHz00yIjI3n//fe5ceOGzYOsLd5++21yc3MNTistLQXAzc2iqw8B8PHxYfr06Ra/XjgXU/lmDZJvojxj+WaNbRtIvllbld9GvXr16NChQ4Xn/Pz88PPzIyUlhblz5/LVV1/ZLMDaJDc316Z3tCsbeEYIkHwT9iX5VrtYtKt1+PBhvvzyS3bu3IlWq7V2TEIIIYSoAbOLe2FhIevXr2fVqlWcPn2aVq1a8dprr3HmzBlbxicslJuby+eff46HhwebN29m+fLlrFy5ErVazaFDh1i8eDG+vr588sknuLm5kZSUxL333ku/fv1YsWIFmzZtolevXuzcuZMNGzawYsUKAHbt2sWbb75Jy5YtHfsGhWJIrgl7MpZvhYWF/Prrr3z88ceSb5hR3FNSUli1ahXr1q0jPz+fAQMG0KZNGxYsWABAdna22SuLj49n7969lJSUMGTIENq1a6efptVqeeONN9i8eTNt27ZlwYIFhIWFWfCWBMC+ffto0KABDz/8MMHBwcyZM4dx48bRrl07UlNTOXnyJBkZGRQWFvLMM8+Qk5PDvffey3fffUfPnj354IMPWLJkCffffz8//fQTGo2Gxx9/HHd3d+bNm8eyZcsc/RaFQkiuCXsylm++vr5cvnxZ8u3/mexr/9JLLzFw4EB++OEHHnnkEXbt2sXChQsrFF1zxyrPz89n/vz5PPfcc0yePJl33nmnwvQdO3YwdOhQ9u/fT1BQkE3P7dQF7du3Z8mSJUyfPp3u3buzZ88e/R7pzJkziY2NZevWrfqBFvz9/Wnfvj379++nXr161K9fn9DQUFq1asUvv/xCZmYm3333HXl5eXV64CJRmeSasCdT+fbCCy9Ivv0/k0fus2bNokuXLvo9pfK95atr9+7dNG/eHJVKhUqlwt3dnYSEBKKjo4Fbve/LvoynnnqKF1980eJ1CQgLC2P9+vXMnTuXESNGkJOTw/nz52nTpg0AmZmZ+lG3ygQEBBjs8VpaWkrLli0ZMWIEAMXFxfZ5E6JWkFwT9mQs37y8vADJtzImj9w9PT0ZPXo0S5cupWnTpkybNo358+dz/fp1/TzmXueemJhIYGCg/nFQUJD+9qNQcai+/Pz8Sj30RfVs374dT09P3n33Xdq2bUvfvn159913uXHjBvv37yctLY0+ffrobwULcPXqVe655x6ACh0lu3btyscff0xCQgKZmZl888039n47QsEk14Q9Gcu33Nxc4uPjJd/+n9kd6nr37k3v3r1JTk5m1apVvPLKKwwfPpyjR48yceLEKl+fm5tLaGjo7RW7uVXYsypv586dPPHEE1Uus6ioqMrB+cuG77PFzQRKSkooKCjQP/by8uKVV14xOG9ZQtVk1CEfH58K6zMlJyeH8ePHc//99xMZGcmwYcN49dVX6du3L+PGjePxxx+nZcuW/Pbbb7z88svcddddjB49Gm9vb7777juuXr3Kjh076NGjBz179mTgwIFMmDCBpk2bMnfuXLPjsLWSkhK73SjCkfl2Z66B6XyzBnPzra7kGtgv35S2bQPj+WaNbRvUPN9Gjx7N3/72NwYOHOjQfCv7PKyRtzXKN52Fbty4oVu6dKmuS5cuZs3/r3/9S7dw4UL94xdeeEH35ZdfVprvwoULus8++8ysZZ44caLKeaZMmaKbMmWKWcurLnPWXyYlJUWXkpJikzjqMmPfQXW+m5quqzxb5Zst3o+oPnvlm2zbqs8Z46hJvlk8pJCvry8TJkygUaNGZs0fERHBgQMH9I/T09OJjIysME9hYSGbNm3i6aeftjQsIYQQos6r8Z0ohg4datZ8ffv25dSpU2i1WoqLi9FoNERFRekLvlar5dNPP2XcuHG4uLiQmppa4Zy8EEIIIcxTs8GAq8HLy4tJkyaxcOFCVCoVs2bNIj09nRkzZrB161beeust1q1bxyeffALculn9zz//bK/whBBCCKdht+IOEBcXR1xcXIXntm3bBty6HnbmzJn2DEcIIYRwSnYt7kIIIWq/Gzdu6O8IWlRUBEBqaqp+ev369alfv75DYhO3SHEXQghhsZre6lXYhnwrQgghqkWOzCsy1ZLhqM9KirsQQghhJUppyVBGFE5iymuvczXL8F3yNKWlAKhq8MUHNwhg3pxZFr++ulasWEFmZiZHjhzB19eXSZMm0bFjR4Pzpqam8vzzz/Ptt9/aLb66zlS+WYPkmyjPmfLN2rmmxJYMKe5WdDUrm9zG3Wy3gkuHbLfsO+zZs4erV6/y8ssv8+OPP9KsWTPatm1rdP6wsDDmz59vt/iE5FtdzLedO3fqx0wvGwdk6tSp+ukDBgygX79+Nlm3s+RbXck1Ke7CoKSkJOrVqwfAoEGDqpzf1dWV8PBwW4clnJTkW/WZe7ttUVFdyTUp7k5q1apVrF+/nr/+9a988sknREdHc88997B48WKeeuoplixZwvbt29mwYQN5eXmcO3eOqKgoHnroIX755RcOHTqkX07Hjh15++23eeGFF+jWrRt//PEH27dvJysrC5VKxbRp01ixYgWbNm3SN11999133Lhxgz179vDss88SEhLCnDlz6Ny5M6dOneLYsWOsXLmSJk2aVFrehAkTeOKJJwgICGDJkiW4uLjw9NNP8+KLLxptOhOOJflmH/369bPZkXltYSzXFixYwOjRo/nyyy8l17DC8LNCmbp3786FCxfo3bs369ev5+DBg2g0Gi5dukSnTp347LPPSEpK4n//+x+PPfYYb7zxBh9//DHHjh3j7rvvJjo6mujoaEaPHk2HDh30dzoqKSnhzTff5Mknn2Tq1KkcP36cvLw8evXqRVZWFgCnT5/mxIkTjBs3Tr/spk2bUq9ePXJycnj33Xfp0aMH27dvN7g8T09PXnvtNXJzc/H29sbT05POnTsrbkMrbpN8E/ZiLNcyMjJo166d5Nr/kyN3J+Xu7o63tzfNmzcHoH///pw6dQpAf35p7ty5NG7cGLjVw7NXr17s2rWLLl26VFpeWTPWuXPn0Ol0eHh4APDVV18BoFar9fMeOnSI3NxcvvvuO/Ly8rjrrrvQaDSo1Wpat24NQEhIiH6v2tDyYmNjKSgo4MSJE+Tl5RETE2PdD0hYleSbsJfyuXbjxg3+/Oc/c/ToUQAaN26MWq1mxYoVBAUFAXU316S41xF+fn54enpWeE6n03Ht2jX944CAAFQqlcnlaLVaUlJS0Gg0qFQqtFotOTk5FeYpLS0lODiYESNGAPDQQw8ZvNezTqczurwGDRowatQovvjiC8LCwvjnP/9p4TsXjiD5JuzF19dXX6DLLkPT6XT6o22om7kmzfJOrKCgAJ1OB8DZs2e55557APTNUH369GHPnj0UFxcDty75GDhwIHA7Oe8UHh6Oi4sLS5cupaCggFWrVul/WGViY2NZvXo1P/30E9nZ2fz3v//FxcXFYIymljdkyBD27t2Lq6trlT9M4XiSb8JeynKtfv36XLlyhSFDhgDQtGlTmjRpwpAhQ/j555/rdK7JkbsVBTcIMHo5h7Wuc6+O4uJili9fjkqlonv37qSlpQGwdu1aHnzwQe6++24efPBBXnrpJTp16kSvXr2IiIggNTWVgwcP4uLiwh9//IGHhwcXLlzgwIEDxMTEsGDBAqZPn86aNWuYNWsWXl5erFu3jqysLH777Tc6duzIM888w5QpU/D392f+/Pmkp6dz8uRJXF1diY2NJTExEa1WS25ursHlAXh7ezNw4ED69Olj8WfmzEzlm9WWXw2Sb85NSfkmuWYGXS124sSJKueZMmWKbsqUKQ5bf5mUlBRdSkqKTeIwtr4+ffrYbX228vHHH5ucbuw7qM53Yy5H5pst3o81Sb5Z9/tx9Pft6PWbUldyTaerWb455ZG7Iwd6ENbx22+/odVq8ff3d3QoVTKVb5JrtUNtyjdRu9kr15z+nHtAQECdG+xBo9Gwbds2rl27Rnx8vKPDsciUKVP4z3/+o++4UltIvkm+CduRXDOfi073/z1g7CA+Pp69e/dSUlLCkCFDaNeuXYXpW7Zs4cyZM9y8eZOxY8cSFhZmcnlJSUmVlmFP1Vl/2R2CmjRpYsuQ6hxj34EtcsOR+eboXBe32CvfHP19O3r94paa5JvdmuXz8/OZP38+q1evRqPRMH78eFauXKmfnp6ezpo1a/jss8/IzMzkrbfe4oMPPrBXeEIIIYTTsFuz/O7du2nevDkqlQoPDw/c3d1JSEjQT9+wYYN+lJ6goCDOnj1Lenq6vcKzmB0bPsQd6tpnb+jyHWE/dS3f6tr7VZqa/t7tVtwTExMJDAzUPw4KCtJ3PjI0PTAwsMJ0JapXrx7Xrl0z+iO4ceMGqamppKamUlRURFFRkf7xjRs37Bytc9H9/4Aod16H6qy8vb25dOkSxcXFstF1gLqWb1Vt24Tt6HQ6iouLuXTpEt7e3hYvx27N8rm5uYSGht5esZtbhdGqcnNzK9wP987phhQVFZGUlGT9YM2k0+nIzc3VX2N5p6KiIv0gCmV7YWWjGXl4eFQY1lBUn4uLCyqVym454Mh80+l0aDQacnJyZIPrIPbMN6Vv24RtlQ2MU5N8s1tx9/Pzo6ioSP+4sLAQX1/fCtPLCqGh6Yao1Wrp9CEMssWGUfJNGGPtfJNcE6aYk292a5aPiIjgypUr+sfp6elERkZWmJ6RkaF/nJGRUWG6EEIIIcxjt+Let29fTp06hVarpbi4GI1GQ1RUFAcOHABg8ODBHDt2DIArV67QqlUrQkJC7BWeEEII4TTs1izv5eXFpEmTWLhwISqVilmzZpGens6MGTPYunUrjRs3ZtCgQXz44YcUFBTw9ttv2ys0IYQQwqnYdfjZuLg44uLiKjy3bds2/d8PPPCAPcMRQgghnFKtHlve0T1KhXKV77xpzWVKvglDrJ1vkmvCFHPyza7DzwohhBDC9pz+xjFCCCFEXSPFXQghhHAyUtyFEEIIJyPFXQghhHAyUtyFEEIIJyPFXQghhHAyUtwd6PTp04wYMYLU1FQ0Gg3Dhg1zdEgmXbp0iccff5zDhw/bdD3nzp3Tfy7l/xY1I/lmmOSb9UmuGWbPXJPi7kCtW7fGze3WOEIqlYq1a9c6OCLTGjduTP369W1+y9EWLVrg4eFR6e/qyMnJ4caNG9YOrVaTfDNM8s36JNcMs2euSXF3sPL3dFepVA6MxDz2uge9u7u7wb/NUVpayqxZs2Rja4Dkm2GSb9YnuWaYvXKtVg8/a8r333/P5s2biYyMZOvWrQwdOpSBAweybds2AgICOHr0KNOmTcPHx4cvvvgCX19fEhMT6datG7GxscyePZugoCAOHjzIO++8Y/TeymvXrmXz5s3ExcWxadMmhg8fzs2bN9m/fz9Dhw6lRYsWZGRkcOjQIUJCQnj66adJSEggMTERNzc3zp49C8DevXt5//33+eqrr1i6dCmpqanMmDGDefPmERAQwF//+lcmT57MI488wpEjR8jMzGT06NFs376drKwsli5davLzWLx4MV26dGHLli14eXkxZMgQjh07po/htddeQ6VS8cknnxASEkJ8fDzDhg0jJiaGs2fPsnPnTho0aMDRo0cZPnx4peUXFxfz448/UlpaytatW+nTpw+zZ89m+/btLFiwgFGjRhETE8Pu3bvJycnhl19+oXv37gwdOpQdO3ZQWFjItm3beOCBByrdf6C8jRs3otFo2LJlCxMnTiQ5OZkNGzbQrVs3duzYwcSJE2ncuDG///47W7duZfDgwTRs2LAamWMZybeKJN9sR3KtIsk1w5z2yD06OprLly/zzDPP8Pnnn7N06VKefPJJhg0bxoMPPkhYWBhLly7ll19+4fTp0wwbNoznn3+et956C4AmTZoQGBjI2rVrjSY/QExMDFlZWYwePZq3336bNWvW8Pjjj/PGG2/www8/8Nlnn+Hm5kZ0dDRnzpyhoKCAefPm8eijjzJ69GhCQ0MB6N69O1lZWbi5uREbGwvc2pNs3749AHfddRf16tUjKiqKuXPnkp2dTWhoKHPmzCErK4srV64YjTEpKYmdO3cSFxdH+/btUalUvPrqqzz66KM88sgjFBQU8O2337Ju3Tp0Oh3Dhg1jwoQJTJ48Ga1Wy9SpUxkzZgwjR44kIiLC4Dq++eYbcnNz8ff3JzIyksDAQMaOHcu8efMYOXIkMTExXL9+nbVr1zJ8+HAmT56Mm5sbp0+fZt++fdSrV4/o6GgSExONvo+ffvqJ5ORkfHx86Ny5M4mJiXTp0oVr164xfvx4/vnPf7Jjxw5atWpFcHAwAwcOtEthB8m38iTfbEty7TbJNeOc9sjdxcUFPz8/VCoVwcHBhIeHc/r0aXx8fADo2LEjX375JfXr18fb2xsAHx8fQkNDuXjxIq6urjRo0KDK5iSVSoW3tzeurq54enrq/1ar1Vy+fJkGDRrQv39/AAYNGsSJEyfQ6XS4uLgAt26FC+jPT5ni5uamj9/Ly0v/t1qtpri42Ojryn5ku3btwsXFhSeffJINGzbg6npr365Dhw788ccf6HQ62rRpA0DTpk0pLS0lKyuLS5cu4enpWSHeO50+fZr77ruPu+++m/79+6PRaIiJieG+++7jqaeeAuDChQtotVoAGjVqxP3338+PP/5IYGCg/jPSaDRG38epU6do0qQJ/fv316/j8uXL+Pr66j//kpKSKj9HW5B8u03yzbYk126TXDPOaY/coeKHqdPpCA8PJyEhAYDc3Fyio6OJjIzk6NGj+vlUKhWtWrWyyvoDAgI4c+YMP/30EwBbtmwhJCSEc+fOce3atQqxlefu7k5+fj4A2dnZ+qSxlJ+fH5MmTaJv376MGjWKBg0aoFar9c1meXl5+s+i7PMpLS0lNDQUPz8/iouLOXXqlH55huJp0aIFH330EQUFBeTk5HDw4EG+//57li1bxrRp0yguLqZJkybEx8dz4cIFdDodW7ZsoUWLFqxZs4aUlBQ0Gk2FWwAbWsfy5cvJysqiqKiI3bt3m3zfOp2uxp9ddUi+3SL5ZnuSa7dIrhnntEfuAKmpqaxbt44bN27w3HPP0bRpUxYtWsTFixfJzs7miSeeQK1Wc/ToUebNm0doaCgTJ05Eq9Vy8uRJUlNTGThwoH7v15Bjx46Rnp5OWloa8fHxZGRkkJKSQkJCAleuXGHKlCm8+eab+Pv7M2XKFEJCQpg8eTJPPPEE9913H4WFhRw+fJirV69y/fp1zp49S2RkJFeuXGHq1KkEBgaSmZnJ5cuXSUtL49ixY7i4uHD58mUSEhLQ6XSkp6fz66+/0qRJE4Mx3rx5k3nz5vHhhx+i0+mIiIhg4cKFLFmyhLvvvhuAwYMHo9FoSEpK4oMPPsDDw4MZM2bg7u7OnDlzeOmllxgwYABXrlzh+PHjdOvWTb93DPDQQw+RkJBAv379iIuLIyQkhKZNm9KhQwc8PDx44403mD59Oq+88gpjxoyhdevWTJs2jfDwcB5++GFGjhxJVFQUs2fPJiMjg0uXLnHkyBHc3d31fw8bNox9+/YxaNAgYmNjmTNnDnv27NF//sePH+f8+fNkZWXRqVMn3nvvPV544QXCwsKsm1hGSL7dIvlm+3yTXLtFcs14rjntLV9TU1N59dVX+eKLLxwdisMdOHAAtVpNTEwMOp2OvXv30qRJE1q2bOno0JyG5Nttkm+2Jbl2m+SacU575H7w4EHS09NJSUmhadOmjg7HoUpLS1m2bBlBQUGEhYURHR0tyW9lkm+3Sb7ZluTabZJrxjntkbsQQghRVzl1hzohhBCiLpLiLoQQQjgZKe5CCCGEk5HiLoQQQjgZKe5CCCGEk5HiLoQQQjgZKe5CCCGEk5HiLoQQQjgZKe5CCCGEk5HiLoQQQjiZWj22/P/+9z/UarWjwxAKVFRUROfOna26TMk3YYy1801yTZhiTr7V6uKuVqtp166do8MQCpSUlGT1ZUq+CWOsnW+Sa8IUc/LNrsW9oKCAzz77jKysLF5//fVK08+ePcs333yDWq2ma9eu9OjRw57hCSGEEE7BrsU9NzeX0tJS8vLyKk3T6XS89tprfPrpp/j4+DB27FhiY2Px8PCwZ4hCCCFErWfXDnXBwcE0adLE4LRff/0VlUqFj48PAM2bN2fLli32DE8IIYRwCnbvLe/i4mLw+d9//53AwED946CgIM6ePWuvsIQQQginoZgOdTdv3qR+/fr6x25ubly9etXka4qKigx2LNDpdGg0Gv3fwv5cXFxQqVRGd+Zqo6ryTXLNMcpyzJnyzViu2YvktGNZI6cVU9z9/Pw4c+aM/nFhYaG+id4YYz1KL168iIuLCw0bNsTd3d1pfvC1hU6n49q1a9y8eZMWLVo4JAZ79pY/d+4cvr6+BAYGSq7ZmU6no6SkhIyMDHQ6Hc2aNXNIHM7WW15y2nHMyWlz8k0xg9hERERw5coV/eP09HSioqIsWlZeXh6NGzfGw8NDEtMBXFxcCAwMpLCw0NGh2EVhYaFsBB3ExcUFDw8PGjdubLCjrrCM5LTjWCun7V7c72zmOXjwIMXFxXTu3Jnc3FwKCgoASE1NpU+fPhavx9VVMfstdVJd2yjUtferNPJ7tz7JaceqaU7b9Rdx9epVjhw5wqlTp/Sd5ebMmcP58+dxcXFh5syZvPvuu3z44Yc8//zzeHt72zM8IYQQwinY9Zx7cHAwc+fOrfDcxo0b9X+3b9+e9u3b22Tdb7/9Nrm5uTZZNoCPjw/Tp0+32fJF7SL5Jmxh586dbN++HYDs7GwAAgIC9NMHDBhAv379bLJuyenaRTEd6mwtNze30o6FNU2dOtVmyxa1j+SbsDVDxd2WJKdrlzpT3IUQorbr16+f/si8rBjasuCK2kuKu53l5uby+eef4+HhwebNm1m+fDkrV65ErVZz6NAhFi9ejK+vL5988glubm4kJSVx77330q9fP1asWMGmTZvo1asXO3fuZMOGDaxYsQKAXbt28eabb9KyZUvHvkGhKJJvwtlITptHirud7du3jwYNGvDwww8THBzMnDlzGDduHO3atSM1NZWTJ0+SkZFBYWEhzzzzDDk5Odx7771899139OzZkw8++IAlS5Zw//3389NPP6HRaHj88cdxd3dn3rx5LFu2zNFvUSiI5JtwNpLT5pHrR+ysffv2LFmyhOnTp9O9e3f27Nmj31OcOXMmsbGxbN26VT8Gv7+/P+3bt2f//v3Uq1eP+vXrExoaSqtWrfjll1/IzMzku+++Iy8vj+DgYEe+NaFAkm/C2UhOm0eO3O0sLCyM9evXM3fuXEaMGEFOTg7nz5+nTZs2AGRmZupHeCsTEBCAm1vlr6q0tJSWLVsyYsQIAIqLi+3zJkStIfkmnI3ktHnkyN3Otm/fjqenJ++++y5t27alb9++vPvuu9y4cYP9+/eTlpZGnz599Je7wK3xAe655x4AtFqt/vmuXbvy8ccfk5CQQGZmJt988429345QOMk34Wwkp81TZ47cfXx8bHqpRVXj4JfJz8/nySefZOjQoXTs2JGRI0fy4osv0q9fP8aPH8+ECRNo3749J06c4NVXX6VFixY89thjBAUFsWLFCq5evcrevXvp3bs3AwYM4NixYzz11FM0bdqURYsW2ez9ieqRfBPORnK6dnHR1eLb/iQlJRm8uYKx54V9OfJ7sMW6Jd+UzZnyzZzl2fJSOMlpZajJNqfOHLkLxyo/shZUHoDDliNribrHkSO5CaEEcs5dOER2drZ+oyuELUmuibpIjtyFXZQfWQtkdC1hWzKSm6jr5MhdCCGEcDJS3IUQQggnI8VdCCGEcDJyzl0omvR6FkKI6rNrcY+Pj2fv3r2UlJQwZMiQStfpff7557i5uXH9+nXatGlD//797RmeUDh7379aCCFqK7sV9/z8fObPn8/q1avRaDSMHz+elStX6qenpKQQHx/PkiVL0Ol0DBo0yKrFfcprr3M1y3aXwwQ3CGDenFk2W/6dVqxYQWZmJkeOHMHX15dJkybRsWNHg/Ompqby/PPP8+2339otPmuprb2enSnf6kquCdMkp2tXTtutuO/evZvmzZujUqlQqVS4u7uTkJBAdHQ0cKv4Hz9+nLy8PHQ6HR4eHlZd/9WsbHIbd7PqMiu4dMh2y77Dnj17uHr1Ki+//DI//vgjzZo1o23btkbnDwsLY/78+XaLTzhPvkmuiTKS07WL3Yp7YmIigYGB+sdBQUEkJyfri3vbtm2JiopiwoQJdOnShQULFtgrtFonKSmJevXqATBo0KAq53d1dSU8PNzWYQknJLkmnI0tcvrGjRvcuHEDAI1GA4BKpQKgfv361K9fvyYhW8RuxT03N5fQ0NDbK3Zzq3BLPrh1L94HHniAgoICxo0bV+Uyi4qKSEpKqvR8SUkJBQUFFZ6z9RD6Op2u0jqN+frrr9m0aRODBg1ixYoVdOnShV69evHBBx8wfvx4li5dysaNG/nhhx/Iz8/nwoULREREMHLkSI4cOcLBgweBW01L7du3Z968eTz77LPExsZy+vRpdu3aRVZWFiqVildeeYUvvviCLVu2sGrVKgDWr1+vv4PSU089RUhICP/617/o0KEDp0+f5tdff+WTTz6hcePGlZb3+OOPM3HiRPz9/Vm4cCEuLi4899xzTJo0ifbt21d4nyUlJQa/H4C8vDwAo9Ot9Rprqo35VldyDYznm6PzxhLGcq08W76v2pLTy5cvJzIykrvvvpvPPvuMhx9+mC+//JLPP/+cffv2UVpaapecfuedd2jTpg3nzp3j999/Z+7cuTRt2pRz585x+PBhbt68adWcNofdirufnx9FRUX6x4WFhfj6+uofl5aWMn/+fDZu3MjLL7/M008/zddff42Li4vRZarVaqOD6nt6elZ4ztRyrMHFxaXSOo2Ji4vj448/pl+/fowYMYK//OUv3HPPPVy+fJnY2Fi6devG+fPnOXHiBHPmzKG0tJT+/fvTvn17evfuza+//gpQYQdIrVbj5ubGnDlz9H0ZHn30UbRaLf369eOrr77C09OT06dPc+bMGaZPn07btm2ZPXs2P/zwA15eXuTl5fHee+/x+uuvs2/fPh555JFKywsICGD69On861//IjAwEJ1Ox5/+9CdiY2MrvU93d3ejNzfw9vYGqNbNKarzGlts8GpjvtWVXAPj+WZJrlWXtfPNWK6VZ8v3VVtyesCAAYwcOZKuXbty5coV2rRpw/z580lOTiYpKYl//etfdsnpsiPzpUuX8sILL3D48GG6du3KK6+8YpOcNiffTF7n3rNnT2bNmkV8fHyVC6pKREQEV65c0T9OT08nMjJS/3jfvn34+Pjg6+vLokWLyMzMrFV72tXh7u6Ot7c3zZs3x9/fn/79+3Pq1Cng1umJ1q1bs3XrVho3bgzcauXo1asXu3btMri8siamc+fO6fsreHh48NVXX+Ht7Y1ardbPe+jQIXJzc/nuu++4ePEid911FxqNBrVaTevWrQEICQkhLy/P6PJiY2MpKCjgxIkTxMfHExMTY8uPS9SA5JpwNuVzumnTptx7771kZmYCt+pMz549OXbsGHfddRdg/5wODAykoKDA4Tlt8sg9MzOTu+66i40bNzJnzhy6du3KoEGDjPYqNKVv374sX74crVZLaWkpGo2GqKgoDhw4QI8ePfD39yc/Px8AT09P2rdvT1BQkGXvqpbx8/OrtMeq0+kqnLYICAjQn8MxRqvVkpKSgkajQaVSodVqycnJqTBPaWkpwcHBjBgxAoCHHnoIV9fK+3g6nc7o8ho0aMCoUaP44osvCAsL45///KeF71zYm+SacDaS04ZVOULdn/70J2bMmMG3335L7969WbNmDQ888ADvvvtutY6svby8mDRpEgsXLuTDDz9k1qxZpKenM2PGDHQ6HV26dKFFixZ8/fXXrF27lgEDBhASElKjN6dkBQUF+nNYZ8+e5Z577gFuJRhAnz592LNnD8XFxcCtyzEGDhwI3E6cO4WHh+Pi4sLSpUspKChg1apV+r3SMrGxsaxevZqffvqJ7Oxs/vvf/xptbjO1vCFDhrB3715cXV2r/NEIx5JcE85GcrpqZp9zd3V1pXv37nTv3h2NRsPPP//MypUrOXv2LGvWrDFrGXFxccTFxVV4btu2bfq/n3zySXPDqbbgBgE2vdQiuEH1BlYpLi5m+fLlqFQqunfvTlpaGgBr167lwQcf5O677+bBBx/kpZdeolOnTvTq1YuIiAhSU1M5ePAgLi4u/PHHH3h4eHDhwgUOHDhATEwMCxYsYPr06axZs4ZZs2bh5eXFunXryMrK4rfffqNjx44888wzTJkyBX9/f+bPn096ejonT57E1dWV2NhYEhMT0Wq15ObmGlwe3DrfN3DgQPr06WP1z9IZKCnfJNeENRjLaU1pKQAqt5p14bJGTm/ZsoUnn3zSoTn9xx9/oNPpHJ/TOhPatm2rO3jwoKlZdCUlJSan29KJEyeq9bxSpKSk6Pr06ePoMGrs448/Njnd1PcwZcoU3ZQpU6q1vuq8xhY5UBvzra7kmk5n/HuwJNeqy9o5YM7ybPm+qvN+UlJSdCkpKTaJw9j6DOW0veMwxtw4apLT5nw/Jne1xo8fz9q1a+nSpUuFTgXludVwb03UPr/99htarRZ/f39HhyKcnOSacDb2ymmTlfmll16ipKSEmzdvGi3uono0Gg3btm3j2rVrtbb375QpUwgPD2fRokWODkWYUNdy7ebNm/ohistLTk4GMDgNbp0bteUpQWE9dS2na6LKw253d3caNGhg0yDqEpVKxT/+8Q/+8Y9/ODoUi23evNnRIQgz1LVcKy0tJTk5udJoYqZuNFRW+EXtUNdyuiZq3KZ+48YNhwytJ4QQdwoPD6/WjYWMHc0LUdtVeSlcVTZu3GiNOKzO0KUOwn50Nh6qUmnq2vtVGq1WK9+Blcnn6Vg1rWEmj9wHDBhAampqlQsZPXp0jYKwNm9vby5dukTDhg1xd3e3+bCJoiLd/w8gkZGRweeff25wHlPnQWvbOdB69epx7do1AgMDJdfsTKfTUVJSQkZGBlevXnV0OE5Dctpxyud02RDDljBZ3B977DEyMzOJjY01eKG9VqtV5PnXJk2akJmZyYULFyj9/2swhX3Vq1eP3bt3GzwHCsbPgyYnJ5OWlmbwXKhSO0Y1adKE1NRUKS7cumdE+Zt/lB19lI3i5enpWWlgkJpyc3PDz8+PQ4fsd9tlZ1ednM7OvnWP95s3b9o6rDoTR1lO12SUVpPFfeTIkSQnJxMREWF0noYNG1q8cltxdXUlJCTEqUe4q46dO3eyfft24HbilRXXAQMG0K9fP5ust6ioyKJzoMnJyRw/cRJXL/8K03SaWwXi9/PplV6nzc+pSag14u7uTosWLRy2fiUpn2twe4esbAfPlvkmzcjWU52cLtvZrs7v3BYkjopMFncPDw+ThR2QjVotc2dxVypXL388o8wvAgW/77RhNMJc/fr1q1C87bmhy87OJjs7u1qd5JKTkxX/WxDCEjICTR1QfoOrlL1KIYQQtlNlcU9JSeGTTz7hl19+IT09HZVKRaNGjejRowfjxo3T3ypSVOao5nAh6qKAgAACAgLkUjghqKK4Hzx4kFmzZtGtWzfGjBmDj48PWq2WGzducOHCBZ544gneeustunbtaq94a63a0hwuhFCWZcuW1aoOpkIZTBb3H374gQ0bNhgdP764uJi5c+dKcTdCmsOFEDWVnJwsI++JajNZ3H19fU3eGMbDw0OGphVWV1JSglaTU61Octr8HLKz5f4HomaUeipNRt4T1WWyuPv7+zNjxgzuv/9+mjZtir+/P2q1mhs3bnD27Fl27doll58IoyztvazRaLDC4ImiDkpOTq6Ub6ZOiRkbh6Gq1wmhdCaL+4QJE1ixYgUTJ07kxo0bFaYFBgby6KOPMn78eLNXFh8fz969eykpKWHIkCG0a9eu0jwpKSmsX7+e8PBwevfujY+Pj9nLF85BpVKhU/tV+1I42QjXbZYU6fDw8Aqvk1NpwllU2Vt+3LhxjBkzhsTERNLT03FxcaFRo0ZERkZW617u+fn5zJ8/n9WrV6PRaBg/fjwrV66sME9ycjKzZ8/mgw8+wNPTs/rvRljNnYORWNJEaWnv5eTkZGRcQVFdxjqPSZEWdZFZ1VmlUtGpUyc6depU4flDhw7xpz/9CXd39yqXsXv3bpo3b45KpUKlUuHu7k5CQgLR0dHArdGlXnzxRebOnVunC7s1iqotSBOlEMIZKGUba6p/hzXiMFnci4uLWbRoEfv37ycsLIzHHnuMu+++Wz/9xo0b9OzZ06wxnRMTEwkMDNQ/DgoKIjk5WV/cDxw4wPXr14mPj+ejjz7ioYceonv37pa+L6fhqKLqyJHG4FYHuTs71OlKCgFwca88Nvmt4Wcb2SEyIYQzUcKBiy1iMFnc33nnHdatW8eoUaNo2rQp3377LTt27ODVV19FpVIRERFR6Vy8Mbm5uYSGht5esZsb165d0z8+dOgQ3bp1Y/To0bRv355x48axfft2kwPnFxUVkZSUZNb6HS0vLw+gynjDwsIYO3as/vFHH30EUOG5mrxnc+Owxuvy8vIsuquRSqUivHnTSs+npd26EUNYcLCBV/ni7+9v03yoTfmmFJbmmxJicGTs5XPN0t9RXl6efhnx8fEcPnwYuH1DE19fXwC6du1KTEyMxbFW53NSQhxK2caWj8NQDDWNw2Rx37JlC9OnT2fkyJEAPPzww5w5c4Z58+bx/PPP6+/0ZA4/Pz+Kior0jwsLC/VfKtzac2nWrBkAnTp1omHDhhw7dowBAwYYXaZarTbYKU+Jyn6c1Y3X0tcpIQ5vb2+DvZfB+J5qWe9lQy0E1Wk9sMUGuTblm1JYO3+tHYOxAWIAMjIyAIzetrj8IDHWzrfyuWbpbT+9vb31y0hLS9Mvp+x9NWp0q6UrLCysRt9Pdb5jpcRhjddZc3nVfY05+WayuLu5udGhQ4cKz7Vq1Yrnn3+ef//73wwcONCsQAAiIiI4cOCA/nF6ejqRkZH6xw0bNiQzM1P/OCQkBLVarluuzYz1Xgbjxf3O3stC2JKxOxCCcu9CaAmlXAWglDjqApPF/ZFHHmHz5s20bdu2wvNeXl5MnDiRt99+2+wV9e3bl+XLl6PVaiktLUWj0RAVFcWBAwfo0aMHgwYN4uWXXwZuda7Lz8+Xke9qOVNDX8oPWyhFde9ACHIXQqF8VV7n/uOPP7J371569+5dYZqHhwevvfYaZ8+eNWtFXl5eTJo0iYULF6JSqZg1axbp6enMmDGDrVu30rJlS8aMGcP777+Ph4cHL774IvXqVe44JYRQFlNN26bGP1fC2OfZ2dkGO29WRUZEFEpnsrifPHmS8PBwo3d+q1evXqVr1U2Ji4sjLi6uwnPbtm3T/z18+HCzlyWEUAZjY5+D8d6/ihr7XFNquJldq731v6G+RRoZiUEom8ni/vDDD7Nw4UJat25tdB6VSmX1oIQQtUtNxz531Jju0dHRVe6AGOsDYq++IZYO4yxjUtRtJot779696dOnj8kFFBUVScc3J1Gbm1eF87DGNb/ldxYM5W7ZDoP0CxH2ZM/b95os7l5eXlUuYMeOHdx///3VWqlQJkt6Dte2XsPOSimjblnKlr2oq7OTYGqnwFGfoaXDOIvblHLgYmwba4srM0wW9/379/OPf/zD6PTS0lKSkpKkuDuR6vYcll7DyqSEUbdMSUtLo7Cw0OAG1RpHMXeOsGgJpX52tYnSiyrY/8DFXttYk8Xd09OThg0bGp2u0Wi4ePGiRSsWtmPpDyo5ORlcq26tsSdzm1frOkcOF2zJOeHs7Gy0OheDRyqOvL7cGjsF4jZrF9WabNvq2oGLyeIeHR3NO++8Y3IB5Xu7C8tYe+/Wkt7LAAUFBeCtrOJenhxJWZ+tb15hjE6nA1wMTjN074DyyuIUxtm6ZaQ6rFlULd225efno3MtrlbBNnW5o6Xb7D/++AOtRme1OEwxWdzLxv41xdTwsMI8tmgyqm7vZYC//e1vFFTrFbYnR1L2Y2lTviXnhIcPH05xcYlcgmYjhYWF5BUWO7xlxJJxBKoqZpZs24YPH06xRlet15hi6U5GSUkJuJp/q/SaMLmWPXv2sGLFCoYOHWo0YBcXw3vfdZUlvSGV0mRUUlKCVmPdH6JQNkcNB+rr60thYaHBjaNSLkGr7WTkvdvc3d0pVXtVextrqlBbfADlat04jDFZ3BMTE6u9wLrO2B5dbW4OF87FnpfjGBMWFgbc3pG4s7d/edKvovos2VEHy5qiTeVNdna2RQcuznwKzl63szZZ3HNzc/V/q9Vq3N3dycvL46OPPuL8+fMMGDCAYcOGVXultmbpeURrDaRR3T264cOHU2zlpitL2GLvVihPQkICqamXQHXHz///m8OPnzhZ+UWaUrud65Z8UiZLD1y0LobPdRsraJYWs6oYOz1gzzjKhlQPv6vicvWtVXcZWl8ji1qrTBb3mJgYgoKCGDduHH/5y19o3Lgxzz77LAcPHqR79+589tln5OXlMXr06Gqv2F4sPY+o9EuJhFASS2/tW0b6VliXJTvqYP2m6EcfffTW6RcDRct4QbOsmJlirKjaO447W6zK2OKUmMniXq9ePf773//q77O+efNmfv75Z55//nmeeuopSkpKmDRpkuKKu6XnER11/tHaR8yWXJoEt/aydR4GOjEJq3NUL3UwPuSqpee65da+whhjxQzsu41VShz2VOXws2WFXaPRsHjxYlq3bs2ECROAW0UpODjY9lGKWu/Oc6pKGf1LCezdSmTsvLmlGzkZwlWZqtsMXfYaWzSJC/szWdz9/Pz0f3/xxRdcvHiRZcuWVeghL4PYKI8llybBrZ6ceYWFdjkvVddPdziqlUjUDZY1Q4MtmqKFY5gs7mq1muXLl+Pt7c2iRYu499576dWrl376zp07OXz4sM2DrAuU3NkDan5eSs6pKqOX+p1kBEDnVBeboUVFJov7Sy+9xIIFC/jll18YPHgw06ZNA24drX///fccPHiQDh062CVQZ6b0zh4gGwRrkF7qwlKGOiyaOp1jbIAVUXdU2aFu+vTplZ5v1qwZkyZNYtKkSdVaWXx8PHv37qWkpIQhQ4bQrl07g/O98cYbdO7cmREjRlRr+bWVFNU6ROVmcCRCY2QsdWGsSJsq7tJhUfls3WpmsrgfPHiQP//5zyYX8NNPPxEXF1flivLz85k/fz6rV69Go9Ewfvx4Vq5cWWm+3377jV27dtG5c+cql6lElvRUT05OlqOmOiAgIIDUyxmVnjfVwansdaLusnYHSFFzll6RZGxbb4vfuMniPm/ePPr374+bm+HZNBoNO3fuNKu47969m+bNm6NSqVCpVLi7u5OQkEB0dLR+Hq1Wy/bt2+nZs2c134a4U3WvOy57jezt246xz1Y6OIm6wtTRqr36dyjlyh1bt5qZLO6nT58mJycHV0M3cOBWcb969apZK0pMTCQwMFD/OCgoiOTk5ArF/fvvv2f48OEsW7bMrGUWFRWRlJRkcp68vDyAKuez1us8PDyqPdDD1KlTycvLM7guS+Lw9/enYcOG+teWl5mZqY/zTg0bNsTf399qcTgbc/LNlF69elXokFrmo48+AmDs2LFGX2tovevXr+fSpUsG509LSwPg2WefrTStcePGDB061KyYa0ryxjJK3Lbl5eXh7e1drdeUva5sXWlpafr1e3l5VYgnLS3NrPdsSQzl4ygfg6VxWLKdB9PbemszWdynTZvGqFGjTC7gq6++MmtFubm5hIaG3l6xmxvXrl3TP87OziYnJ6daRylqtdroefsyZYlQ1XzWfl11eXt7G1yXJXGYmtfSpjxLPw9HscWPx5x8s4Sln+3nn39ORkaGwd9MUFBQhWWXSU5ONpprtlDb8sZS1s43Z922tWvXjjFjxli0nJrEUD6OmsZgrThqwpx8M1nc//KXv1S5gHvvvdesYPz8/CgqKtI/LiwsxNfXV//4q6++Yty4cWYtSwhxiyWtRELUVtY+1+3MTBZ3Qx+GRqPh66+/5vz58/Tr149u3bqZtaKIiAgOHDigf5yenk5kZKT+8apVq/jmm2+AW1/g7t270Wq1jBw50qzlC+Eo1rrhkBC2Yo1z3dJZuHYxWdy7du2Kp6cnw4YNY+jQoYSHhzN16lQ2bdpE8+bN2bJlC9OmTWPgwIFVrqhv374sX74crVZLaWkpGo2GqKgoDhw4QI8ePdi/f79+3qlTp9K1a1ebXwpnbFARcOzAIqL2MncoWRk8RjhKbS62lo6+WRdbrEwW9/z8fD755BM6duwIwM8//8zGjRt5+OGHefPNN7l58yYvvfSSWcXdy8uLSZMmsXDhQlQqFbNmzSI9PZ0ZM2awdevWCkPa2ktycjLHT5w0eN2xTnOrE+Hv59MrTbP1tceidqnpULK1eWMragdr9My2pLDWxaKqFCaLe8+ePfWFHeDdd98lLCyMV199FQBfX18aNTJ/CNS4uLhKl81t27at0nz2vG7T1cvfotsiOjulXC7irGTwGCGELZks7g0bNtT/vX79en7//XcWLFhQ4TKqjIzKg3II5yNHl8oj50CFEMaYLO7FxcVs27YNb29vZs+eTWxsLIMHD9ZP/+233yqcK69tsrOzjd6wxRRtfg7Z2WqbxKSUI2Y5shSWUEr+ClHXmSzur7zyCq+++iqHDh2iU6dOLFy4ELh945iNGzfi7+9vjzirZMkdt65cuWKTWKx5kwc5yhLG1IZzoJK/QjhGlZfCLV26tNLzlt44xpaSk5MNFklTG5fS0lJcvQMtOudubLk1vcmDHDGL2kzyVwhlMFncjTl9+jQXLlwgJiZGMUfuUP0BPf72t79RYOUY5CYPQgghHM1kcX/mmWcAaNmypf4695UrVzJ37ly0Wi0BAQEsX76ciIgIuwQrhBBCiKqZLO47duzg9ddfZ/To0QCcP3+e+fPn07lzZxYvXszly5d57733+Pjjj+0SrBBCCKEESr/zpsni3qlTJ31hB1i0aBEeHh4sXryYkJAQQkJCCA4OtnmQtmSst7ype2zfGsTG/Ov7hXNR0siG1d3AyG19hag5U78hc/tX2ZrJ4l6+uf3XX39l69atPPvss4SEhOifN3Rb0dqiXr1bhdvQfbTlHtvCGGOdN8F0B05jOwSWsmQDY8+Ni3A+1rwSqDYztYOulP5VJov79evXuXr1Kmq1mmnTptG4cWPGjx+vn56VlcW+fftsHqQ5LBnQo7Cw0OilREr5goQyWXovZ2uqDRsY4TxqeiWQtSi9OVwpTBb3p556ioceeoicnBzc3d35z3/+g1qt5vr16+zbt4+lS5dy8+ZNe8UqhBDCQZRwJVBtaA5Xiiqb5X/88UdOnz5NixYt8PHx0U+LjIzk/fff58aNGzYP0hy1YUAPIYQQlpPWKvO5VjVDvXr16NChQ4XC7ufnR3h4OO7u7vJBCiGEEApj0SA2hw8f5ssvv2Tnzp1otVprxySEolnSvwPkpi1CCPsxu7gXFhayfv16Vq1axenTp2nVqhWvvfYaZ86csWV8wgrK38xDbuQhhBDOr8rinpKSwqpVq1i3bh35+fkMGDCANm3asGDBAuB2JwZzxMfHs3fvXkpKShgyZAjt2rXTT9Nqtbzxxhts3ryZtm3bsmDBAsLCwix4S8IUOXKsOUv6d4D08RBC2I/J4v7SSy/x448/EhgYyCOPPMLf//53goOD9XeHA/OLRX5+PvPnz2f16tVoNBrGjx/PypUr9dN37NjB0KFDmTZtGlOmTGHu3Lm8//771Xozcg2mYXIzDyGEqFtMdqibNWsW06ZNIyoqigYNGlToVFddu3fvpnnz5qhUKjw8PHB3dychIUE/PTIyktjYWDw9PXnqqac4ffp0tZZv7FKHsvOj1XmNEEIIUZuZPHL39PRk9OjRjB49mr179zJt2jQaNWpUYVS6mzdv4uvrW+WKEhMTCQwM1D8OCgoiOTmZ6OhoAJo0aaKflp+fT4cOHar1RpRwDaYQQgihBGZ3qOvduze9e/cmOTmZVatW8corrzB8+HCOHj3KxIkTq3x9bm4uoaGht1fs5sa1a9cMzrtz506eeOKJKpdZVFREUlKSyXnKdkSqms9ar7PX8oT9leVbXl4eGRkZFo2S1bBhQ7vkgORb7WbLbZu1SRzKjKPal8KFh4fz+uuvc/PmTf773//y6aefmlXc/fz8KCoq0j8uLCw0eMR/8eJFQkJCaN26dZXLVKvVFTrlGeLt7Q1Q5XzWep29lidMs8UPqyzfOnTooP8+72TOKFn2yAHJN/uydr7ZcttmbRKH/eMwJ98sus4dwNfXlwkTJtCokXl3R4uIiODAgQP6x+np6URGRlaYp7CwkE2bNvH0009bGlaNyCVjwhwySpYQQumqHKGuKkOHDjVrvr59+3Lq1Cm0Wi3FxcVoNBqioqL0BV+r1fLpp58ybtw4XFxcSE1NtfpdtKqj7HInIYQQorax+Mi9ury8vJg0aRILFy5EpVIxa9Ys0tPTmTFjBlu3buWtt95i3bp1fPLJJwCoVCp+/vlne4UHyCVjQgghnIPdijtAXFwccXFxFZ7btm0bADNnzmTmzJn2DEcIIWoVU6cOQU4fitvsWtyFEEJYh5w2FKZIcRdCiFpCTh0Kc0lxF8IJlG+uBbnaQ4i6Toq7EE5ImmyFqNukuAvhBKS5VghRXo2vcxdCCCGEskhxF0IIIZyMNMvbkAxnK4QQwhGkuNuJdHASQghhL1LcbUg6OQkhhHAEOecuhBBCOBmnPHKX8ZeFPUnfCiGE0jhlcS9PznULe5J8E0IogVMWdznXLexJ8k3UNdI6qnxOWdyFEELYh7RWKZMUdyGEENUirVXKZ9fiHh8fz969eykpKWHIkCG0a9euwvQtW7Zw5swZbt68ydixYwkLC7NneEIIIYRTsFtxz8/PZ/78+axevRqNRsP48eNZuXKlfnp6ejpr1qzhs88+IzMzk7feeosPPvjAXuEJIYSoZZRypYpS4ijPbte57969m+bNm6NSqfDw8MDd3Z2EhAT99A0bNtCxY0cAgoKCOHv2LOnp6fYKTwghRC0WEBCgiPP/SonDbkfuiYmJBAYG6h8HBQWRnJxMdHS0fnpsbKx+emBgIMnJyTRq1MheIQohhKhFlHLuXylxlGe34p6bm0toaOjtFbu5ce3atQrT69evb3S6IUVFRSQlJVk/WCEMkHwT9iK5JmrKbsXdz8+PoqIi/ePCwkJ8fX0rTC8uLjY63RC1Wl2pU54QgE02jJJvwhhr55vkmjDFnHyz2zn3iIgIrly5on+cnp5OZGRkhekZGRn6xxkZGRWmCyGEEMI8divuffv25dSpU2i1WoqLi9FoNERFRXHgwAEABg8ezLFjxwC4cuUKrVq1IiQkxF7hCSGEEE7Dbs3yXl5eTJo0iYULF6JSqZg1axbp6enMmDGDrVu30rhxYwYNGsSHH35IQUEBb7/9tr1CE0IIIZyKXQexiYuLIy4ursJz27Zt0//9wAMP2DMcIYQQwinV6uFnpUepMKZ8501rLlPyTRhi7XyTXBOmmJNvLjqdTmeHWIQQQghhJ3brUCeEEEII+5DiLoQQQjgZKe5CCCGEk5HiLoQQQjgZKe5CCCGEk5HiLoQQQjgZKe4OdPr0aUaMGEFqaioajYZhw4Y5OiSTLl26xOOPP87hw4dtup5z587pP5fyf4uakXwzTPLN+iTXDLNnrklxd6DWrVvj5nZrHCGVSsXatWsdHJFpjRs3pn79+th6aIQWLVrg4eFR6e/qyMnJ4caNG9YOrVaTfDNM8s36JNcMs2euSXF3MLVarf9bpVI5MBLzlI/Xltzd3Q3+bY7S0lJmzZolG1sDJN8Mk3yzPsk1w+yVa7V6+FlTvv/+ezZv3kxkZCRbt25l6NChDBw4kG3bthEQEMDRo0eZNm0aPj4+fPHFF/j6+pKYmEi3bt2IjY1l9uzZBAUFcfDgQd555x2j91Zeu3YtmzdvJi4ujk2bNjF8+HBu3rzJ/v37GTp0KC1atCAjI4NDhw4REhLC008/TUJCAomJibi5uXH27FkA9u7dy/vvv89XX33F0qVLSU1NZcaMGcybN4+AgAD++te/MnnyZB555BGOHDlCZmYmo0ePZvv27WRlZbF06VKTn8fixYvp0qULW7ZswcvLiyFDhnDs2DF9DK+99hoqlYpPPvmEkJAQ4uPjGTZsGDExMZw9e5adO3fSoEEDjh49yvDhwystv7i4mB9//JHS0lK2bt1Knz59mD17Ntu3b2fBggWMGjWKmJgYdu/eTU5ODr/88gvdu3dn6NCh7Nixg8LCQrZt28YDDzxQ6f4D5W3cuBGNRsOWLVuYOHEiycnJbNiwgW7durFjxw4mTpxI48aN+f3339m6dSuDBw+mYcOG1cgcy0i+VST5ZjuSaxVJrhnmtEfu0dHRXL58mWeeeYbPP/+cpUuX8uSTTzJs2DAefPBBwsLCWLp0Kb/88gunT59m2LBhPP/887z11lsANGnShMDAQNauXWs0+QFiYmLIyspi9OjRvP3226xZs4bHH3+cN954gx9++IHPPvsMNzc3oqOjOXPmDAUFBcybN49HH32U0aNHExoaCkD37t3JysrCzc2N2NhY4NaeZPv27QG46667qFevHlFRUcydO5fs7GxCQ0OZM2cOWVlZXLlyxWiMSUlJ7Ny5k7i4ONq3b49KpeLVV1/l0Ucf5ZFHHqGgoIBvv/2WdevWodPpGDZsGBMmTGDy5MlotVqmTp3KmDFjGDlyJBEREQbX8c0335Cbm4u/vz+RkZEEBgYyduxY5s2bx8iRI4mJieH69eusXbuW4cOHM3nyZNzc3Dh9+jT79u2jXr16REdHk5iYaPR9/PTTTyQnJ+Pj40Pnzp1JTEykS5cuXLt2jfHjx/PPf/6THTt20KpVK4KDgxk4cKBdCjtIvpUn+WZbkmu3Sa4Z57RH7i4uLvj5+aFSqQgODiY8PJzTp0/j4+MDQMeOHfnyyy+pX78+3t7eAPj4+BAaGsrFixdxdXWlQYMGVTYnqVQqvL29cXV1xdPTU/+3Wq3m8uXLNGjQgP79+wMwaNAgTpw4gU6nw8XFBbh1K1xAf37KFDc3N338Xl5e+r/VajXFxcVGX1f2I9u1axcuLi48+eSTbNiwAVfXW/t2HTp04I8//kCn09GmTRsAmjZtSmlpKVlZWVy6dAlPT88K8d7p9OnT3Hfffdx99930798fjUZDTEwM9913H0899RQAFy5cQKvVAtCoUSPuv/9+fvzxRwIDA/WfkUajMfo+Tp06RZMmTejfv79+HZcvX8bX11f/+ZeUlFT5OdqC5Nttkm+2Jbl2m+SacU575A4VP0ydTkd4eDgJCQkA5ObmEh0dTWRkJEePHtXPp1KpaNWqlVXWHxAQwJkzZ/jpp58A2LJlCyEhIZw7d45r165ViK08d3d38vPzAcjOztYnjaX8/PyYNGkSffv2ZdSoUTRo0AC1Wq1vNsvLy9N/FmWfT2lpKaGhofj5+VFcXMypU6f0yzMUT4sWLfjoo48oKCggJyeHgwcP8v3337Ns2TKmTZtGcXExTZo0IT4+ngsXLqDT6diyZQstWrRgzZo1pKSkoNFoKtwC2NA6li9fTlZWFkVFRezevdvk+9bpdDX+7KpD8u0WyTfbk1y7RXLNOKc9cgdITU1l3bp13Lhxg+eee46mTZuyaNEiLl68SHZ2Nk888QRqtZqjR48yb948QkNDmThxIlqtlpMnT5KamsrAgQP1e7+GHDt2jPT0dNLS0oiPjycjI4OUlBQSEhK4cuUKU6ZM4c0338Tf358pU6YQEhLC5MmTeeKJJ7jvvvsoLCzk8OHDXL16levXr3P27FkiIyO5cuUKU6dOJTAwkMzMTC5fvkxaWhrHjh3DxcWFy5cvk5CQgE6nIz09nV9//ZUmTZoYjPHmzZvMmzePDz/8EJ1OR0REBAsXLmTJkiXcfffdAAwePBiNRkNSUhIffPABHh4ezJgxA3d3d+bMmcNLL73EgAEDuHLlCsePH6dbt276vWOAhx56iISEBPr160dcXBwhISE0bdqUDh064OHhwRtvvMH06dN55ZVXGDNmDK1bt2batGmEh4fz8MMPM3LkSKKiopg9ezYZGRlcunSJI0eO4O7urv972LBh7Nu3j0GDBhEbG8ucOXPYs2eP/vM/fvw458+fJysri06dOvHee+/xwgsvEBYWZt3EMkLy7RbJN9vnm+TaLZJrxnPNaW/5mpqayquvvsoXX3zh6FAc7sCBA6jVamJiYtDpdOzdu5cmTZrQsmVLR4fmNCTfbpN8sy3Jtdsk14xz2iP3gwcPkp6eTkpKCk2bNnV0OA5VWlrKsmXLCAoKIiwsjOjoaEl+K5N8u03yzbYk126TXDPOaY/chRBCiLrKqTvUCSGEEHWRFHchhBDCyUhxF0IIIZyMFHchhBDCyUhxF0IIIZyMFHchhBDCyUhxF0IIIZyMFHchhBDCyUhxF0IIIZyMFHchhBDCydTqseX/97//oVarHR2GUKCioiI6d+5s1WVKvgljrJ1vkmvCFHPyrVYXd7VaTbt27RwdhlCgpKQkqy9T8k0YY+18k1wTppiTb3Yt7gUFBXz22WdkZWXx+uuvV5p+9uxZvvnmG9RqNV27dqVHjx72DE8IIYRwCnYt7rm5uZSWlpKXl1dpmk6n47XXXuPTTz/Fx8eHsWPHEhsbi4eHhz1DFEIIIWo9u3aoCw4OpkmTJgan/frrr6hUKnx8fABo3rw5W7ZssWd4QgghhFOw+zl3FxcXg8///vvvBAYG6h8HBQVx9uxZi9axc+dOtm/fDkB2djYAAQEB+ukDBgygX79+Fi3bWnHYKwalxFE+BkfG4ayU8vkqMQ5HbgOsTSnvqzbEUde2sXdSTIe6mzdvUr9+ff1jNzc3rl69avI1RUVFBjsWpKWl6Zv+MzMzASo076elpdmkw1V14rBXDEqJo3wMjoyjJozlmxIo5fNVYhyO3AZYqjZv25QSR13bxt7JRafT6ey5wu+++47Dhw8zd+7cCs+vXr2ahIQEFixYAMDChQspKSlhypQpRpeVlJRUZY/SqVOnAlRan71JHPaNw5zcUMIybaWufM9KicHauSHbNonDFHPyQzGD2ERERHDlyhX94/T0dKKiohwYkRBCCFE72b1Z/s6GgoMHDxIdHU3nzp3Jzc2loKAAT09PUlNT6dOnj73DE6LalHi+TQhRt9n1yP3q1ascOXKEU6dO6TvLzZkzh/Pnz+Pi4sLMmTN59913+fDDD3n++efx9va2Z3hC1Fh2dra+wAshhKPY9cg9ODi40nmIjRs36v9u37497du3t2dIQtRYv3799EfnSjnvJ4So2xRzzl0IIYQQ1iHFXQghhHAyUtyFEEIIJ6OYQWyEEKImli1bRnJycqXny54r6w9xp/DwcJ588kmbxiaEvUlxF0I4heTkZJKTkwkPD6/wfPlhUQ29Rulkp0VYQoq7sBljGyUwvWGSjZKwVHh4eLWuVDBWGJXEWXdahG1JcRc2Y2yjBMY3TLJREqIyZ9xpEbYlxV3YlGyUnJ+00AihPFLchRA1Ii00QiiPFHcnZOmRFMjRlLCMtNAIoSxS3J2QJUdSZa8TorYqG9e/OjsOycnJJn8TQtRWUtydVHWPpECOpoRQItlpEZaQ4m5lck2qEI4REBBAQECAnB4QAinuVifXpN4mRxxC1JxSdlrkwKV2keJuA9K5SAjhbJRw4CKdhc0nxV3YjFKOOIQQ1uHoAxfpLGw+uxb3+Ph49u7dS0lJCUOGDKFdu3YVpn/++ee4ublx/fp12rRpQ//+/e0ZnhC1ilIGj5HTL8KepLOweexW3PPz85k/fz6rV69Go9Ewfvx4Vq5cqZ+ekpJCfHw8S5YsQafTMWjQoGoVdzkfJOoaGTxGCGGM3Yr77t27ad68OSqVCpVKhbu7OwkJCURHRwO3iv/x48fJy8tDp9Ph4eFRreUr4XyQEPbm6GZSUNbpl+Tk5ErLzs7OBgxvC4ztHAlR29mtuCcmJhIYGKh/HBQURHJysr64t23blqioKCZMmECXLl1YsGBBtdehhA2dEljSTArSVCpqN2NF2lRxDw8Pl+IunJLdintubi6hoaG3V+zmxrVr1yrMM3PmTB544AEKCgoYN25clcssKioiKSkJgLy8PLy9vasdV15enn4Z1qCEOIqKimr0WmvFoYTPwprM+Wzy8vIA7BK/Uj5fpcTRq1cvevXqVen5jz76CICxY8cafa3S8k22bdaNwdpxVLUecHxO2a24+/n5VSg6hYWF+Pr66h+XlpYyf/58Nm7cyMsvv8zTTz/N119/jYuLi9FlqtVqfac8S79wb2/vSh37akIJcTRq1AjA4k4n1orDkZ+FLX5Y5fPNmLL3bM2cqmpdlrzO2XK+qvWAbb8Ta+fbnds2S083ONv3bGkM1o6jqvWA4/PNbsU9IiKCAwcO6B+np6cTGRmpf7xv3z58fHzw9fVl0aJF3H///SQlJVWYR9Q+hjZKYHzDJOdAhahITjcIS9ituPft25fly5ej1WopLS1Fo9EQFRXFgQMH6NGjB/7+/uTn5wPg6elJ+/btCQoKsld4wgZMbVyMbZhkoyRERcau5inbaa5uC52llHDJo/QnMp/diruXlxeTJk1i4cKFqFQqZs2aRXp6OjNmzGDr1q106dKFI0eO8PXXX+Pm5saAAQMICQmxV3hWo4QfgFKYusTQ3hsma5JRsoQQSmfXQWzi4uKIi4ur8Ny2bdv0f8tGT9QGMkqWqIuUcMmjJTHYIo7asIMvw89amRJ+AML2ZJSsiqRvhahLasMOvhR3IUSNSN8KURcpfQdfirsQtZRS+nc4a98KIWozV0cHIIQQQgjrcpojd6UcxQhhL9K/QwhhjNMUd1FRdTs4lb1GzoMKIUTt5zTFXY5ibrOkg1PZ66S4CyFE7ec0xV3cJh2chBCibpPiLoQQwiyW3sDG1jE4Ig6lk+IuRDXJ+NaiLlLCDWzklKP5pLjbgBL2boUQwpqUcAMbOeVoPinuVqaEvVthW0oZ31oI4Ri1ofVOiruVKWHvVgghRN0mxV0I4XR27tzJ9u3bAcN36RowYAD9+vVzSGyi9qsNrXdS3IUQTk06MYq6SIq7EMLp9OvXT47MRZ1m1+IeHx/P3r17KSkpYciQIbRr167SPCkpKaxfv57w8HB69+6Nj4+PPUMUolaR+6gLIQyxW3HPz89n/vz5rF69Go1Gw/jx41m5cmWFeZKTk5k9ezYffPABnp6e9gpNiFpJ7qMuhDCmxsX94sWLNGvWrMr5du/eTfPmzVGpVKhUKtzd3UlISCA6OhoAnU7Hiy++yNy5c6WwC2EGueZXCGGM0eK+YsUKevbsSatWrQD46KOP0Gq1leY7ePAgq1atqnJFiYmJBAYG6h8HBQWRnJysL+4HDhzg+vXrxMfH89FHH/HQQw/RvXv3ar0ZGTzG+ZTv9Wzou5Rez0IIUZnR4n7o0CFatGihL+4JCQmkp6fToEGDCvOVXWZSldzcXEJDQ2+v2M2Na9euVVhft27dGD16NO3bt2fcuHFs376doKAgo8ssKioiKSkJAH9/fxo2bEheXl6FeTIzMwHw8PCo9PqGDRvi7++vX4YtlcVlj3U5UxxpaWn6eQ19l2lpaXZ7L2X5lpeXh7e3t0XLyMvLk3wTVSq/bTNGKZ9tXYyjNmwDjBb3jz/+mNTUVP3jRx99lD//+c+VimR8fLxZK/Lz86OoqEj/uLCwEF9fX/3j7OxsffN+p06daNiwIceOHWPAgAFGl6lWq/Wd8gx1zgPlNE+WJYKxOCUOw9q1a8eYMWOA6n2XtvjxlOWbpT9quPW+7fHZ17bvubazdr6V37aVV74lKyMjA4DPP/9cP90RLVlK+Y7tGYejtwHm5JvJc+7Lli1j5syZAMTFxRmcJyYmxqxgIiIiOHDggP5xeno6kZGR+scNGzbUH5kBhISEoFarzVq2UL7yGyWoPLBIbWtelztTCUeT6/eFKSaL+5o1a1CpVLzyyis17uTWt29fli9fjlarpbS0FI1GQ1RUFAcOHKBHjx4MGjSIl19+GbjVuS4/P5+uXbvWaJ1CuWrzhknuTCUcRa7fF+YyWdxff/11oqOjeeONNxg8eLDBo/fs7GyzNtReXl5MmjSJhQsXolKpmDVrFunp6cyYMYOtW7fSsmVLxowZw/vvv4+Hhwcvvvgi9erVs/ydWcBU5y17HVneeYTrLHE400ZJeqkLIZTOZHEfNWoULi4u/Otf/+Lrr7/mrbfeYtKkSRU61W3fvp2//e1vZq0sLi6u0g7Ctm3b9H8PHz68OrHblKkjMInDtpYtW2awo6ahMcLLCw8PN1l4hRDCWgcuNT01Z+srgUwWdxcXF/3fDz30EDt37mTgwIH64l5aWkp6errZxV3pyh9dOuoI7M4j3LoYR3JyMsdPnMTVy7/C8zqNKwC/n0+v9Bptfo7N4xKitlJCq6SS4ijPkgMXa5+as8XBk8niXtbdv6ioiMWLF/PFF1/QpUsXunXrBkBJSQl79uyxWjBCwO1Ev5OLu+nTNMZeJ4S4rS62BpZnjQMXa5yas/XBpMnivnr1asLDw3nnnXfIyspi2rRpPPzwwxXmKRuERgghhDIpoVVSSXHUBSaL+4IFC3BxcaFnz56sXLmywiA0ZXr37m2z4GzN2LldsO/5XUvjsPY5ZqXEERAQQOrljErP60oKAeNH8I4+EhHOd8mjELWVyeLu6enJG2+8oaiObtZk7Nwu2Pf8riVx2OIcc0JCAqmpl0BlIC3+f+jh4ydOVnxeU2r15nBj57PKCkX4XY0MTG0kl5kpUG3b4VLiOWFLyIFL7YrDFt+JyeI+efJkpy3sYPocrT3P71oah03OMavcDO5kGGOLnQxjSexMzXhKGTPf2nFYesmjo4rqzp07+fe//61/XFJSQmlpKYD+XhppaWkA/PHHHxXmnTBhgmKLvVIOXJRywKD4OIzFUIM4TBb3Rx55pMoFxMfHmz1KnTBBU2r4h1V2sx5X10rzW5ux5nAw3SRe247OHKV8ISkqKtIXkTLlh3tOSkrSz2vtIqKEOO4sqqbiKB+DteNwVko5cAEUccCgqDjsxGRxdy1XUE6ePMmnn37K1atX9Xu0Op2OM2fOcPDgQdtGaSOWFrOy11pLdHS00eXpm6INNDlbuxna1PKMN4lLc7glXF1d9b8vnU4HVLz01PXOnbk6HIctY7izpcFZmuWB6h8w/P9rrEkpBwxKicPYtt7Udt7U86aYfT/3CRMm0KZNGzp37oyb2+2Xld8Q1DaWFTOwdkFTyohnSomjvPIbW0PnpWrTBlcpo/QpIQ4lxGCIUuOqLksPGEw9bwmlHDAoJQ57nnI0u7h7eXnxn//8p9Lz5t7yVYmUWMyEcdL8L4R5lLJtkzgcx+zi/uKLL3Lw4EH+/Oc/V3j+ypUr0iwrbMZZjqSEEMKezC7ua9as4fz58zRqdLvpQqfTcfbsWX7++WebBFcXKeU6YaXEIYSoOVOntxw1/Gxd37bZ+pSj2cU9ODiYpk2b4u/vrz/PrtFoKCkpsXjlSqOExLuTNZqirfG+pElcCOeglN+yxGHbGMwu7v/4xz9o0aJFhZ6rWq2Wv/zlL1YPSgkc9YXbuhna3PclzeFCOA+l/J6tHYclBy7O+lncyezi7unpSXp6xUEPMjMz+eWXX2jTpo3VA3MEpXzp1uas70sI4RhKvIpFCUfgSmJ2ce/bt6/By97CwsLkHtpCCFFHObKoyoGLcWYX92eeeabCULQ6nY4ffviBu+++2+yVxcfHs3fvXkpKShgyZAjt2rUzON8bb7xB586dGTFihNnLFkIIYR9SVJXP7OL+2GOP4e3tXeG50aNHM3nyZIPXv98pPz+f+fPns3r1ajQaDePHj2flypWV5vvtt9/YtWsXnTt3Njc0IYQQQpRjdnG/fv06169f1z/WaDQkJCRw9OhRs16/e/dumjdvjkqlQqVS4e7uTkJCQoX7wWu1WrZv307Pnj2r8RaEEEIIUV61z7nrdDr9/25ubkyePNms1ycmJhIYGKh/HBQURHJycoXi/v333zN8+HCWLVtWjbcghBBCiPJMFvdTp07pe8I/9dRTPPjgg/ppKpWKgIAA1Gq1WSvKzc0lNDT09ord3Lh27Zr+cXZ2Njk5OdUa7a6oqIikpCST8+Tl5QFUOZ8txMfHc/jwYeD2bSOfffZZALp27Sp306tllJ5vSoxDWMacXBPKpJTfnsni/p///IeHHnoIV1dXevbsSUbGrbvquLq6VquwA/j5+VFUVKR/XFhYiK+vr/7xV199xbhx46oVvFqtNtopr0xZP4Gq5rOFtLQ0/fqDgoIqxBMWFuaQmOoKW/ywlJ5vSoyjrrB2vpmTa0KZ7PHbMyffTBb3jRs3smnTJv0tGO/UrFkz3nvvPbPeREREBAcOHNA/Tk9PJzIyUv941apVfPPNN8Cto/jdu3ej1WoZOXJklctWKulRKoQQwhFMFvdRo0bx2GOPGb2fskajYfXq1WYV9759+7J8+XK0Wi2lpaVoNBqioqI4cOAAPXr0YP/+/fp5p06dSteuXeVSOCGEEMICJov7mDFjaNq0qdHp7733HmvXrmXKlClVrsjLy4tJkyaxcOFCVCoVs2bNIj09nRkzZrB169ZafV94IYQQQklMFvcWLVqYfrGbm76DmDni4uKIi4ur8Ny2bdsqzeds99UVQggh7MnsS+EMmThxorXiEEIIIYSV1Ki4CyGUQSn3qBZCKIMUdyGckNwhS4i6TYq7EE5ALrsUQpRn+Bo3IYQQQtRaUtyFEEIIJyPN8jVQUlJCamoqhYWFjg6lTqpXrx5NmjTB3d3doXGU78xmq45sWq2WzMxMcnJy0Gg0NV6eqD4l5JvkgeMpIQ/MIcW9BlJTU/H19eWuu+6SQXjsTKfTce3aNVJTU6scj8GebNWRLTU1FRcXF+666y7c3d0l3+xMKfkmeeBYSskDczhlcTd1JAXWO5oqLCyUwu4gLi4uBAYGcvXqVUeHYpfObHl5ebRt29boUNDCtpSSb5IHjqWUPDCHUxb38mx9SZAUdsepa5+9bNAdSyn5JnngWErJg6o4ZXGXy4KEEELYiz363VSXUxZ3R3n77bfJzc212fJ9fHyYPn26zZYvahfJNwGSB0qjlAGkpLhbUW5urk1velO+34AQkm8CJA+UQImtxXLyRgghhHAyUtyFEEIIJyPN8k4qNzeXzz//HA8PDzZv3szy5ctZuXIlarWaQ4cOsXjxYnx9ffnkk09wc3MjKSmJe++9l379+rFixQo2bdpEr1692LlzJxs2bGDFihUA7Nq1izfffJOWLVs69g0KxZBcEyB5oDR2Le7x8fHs3buXkpIShgwZQrt27fTTtFotb7zxBps3b6Zt27YsWLCAsLAwe4bnVPbt20eDBg14+OGHCQ4OZs6cOYwbN4527dqRmprKyZMnycjIoLCwkGeeeYacnBzuvfdevvvuO3r27MkHH3zAkiVLuP/++/npp5/QaDQ8/vjjuLu7M2/ePJYtW+botygUQnJNgOSB0titWT4/P5/58+fz3HPPMXnyZN55550K03fs2MHQoUPZv38/QUFBNu0gUhe0b9+eJUuWMH36dLp3786ePXv0e74zZ84kNjaWrVu30qRJEwD8/f1p3749+/fvp169etSvX5/Q0FBatWrFL7/8QmZmJt999x15eXkEBwc78q0JhZFcEyB5oDR2O3LfvXs3zZs3R6VSoVKpcHd3JyEhgejoaAAiIyP1X/pTTz3Fiy++aK/QnFJYWBjr169n7ty5jBgxgpycHM6fP0+bNm0AyMzM1A+lWCYgIAA3t8opUVpaSsuWLRkxYgQAxcXF9nkTolaQXBMgeaA0divuiYmJBAYG6h8HBQWRnJysL+5lhR1uHeV36NChymUWFRWRlJRk/WDNVFJSQkFBgf6xVqu16fq0Wm2F9Zmyfft2/vznP/P222/zz3/+k6ioKObPn8/s2bNJTEykfv369OjRg3Xr1jFq1CgAMjIyuPvuuyksLESj0ejX1blzZ+bNm0ezZs1o1qwZ27dv5+9//7vN3md1lJSU2C0HHJlvd+YaKCff6kqugf3yzViuSR4ogz23O5ayW3HPzc0lNDT09ord3CrswZW3c+dOnnjiiSqXqVarK5y3t7ekpCQ8PT31j+vXr2/Ta0Lr169fYX2mlJaW8txzzzF06FA6d+7MyJEjefHFFxk8eDDjx49nwoQJREdHc+bMGWbOnEmLFi14/PHHadKkCStWrCAzM5MjR47Qu3dv7r//fn7//Xeee+45mjZtyqJFi8yOw9bc3d0N5oAtfniOzLc7cw2Uk291JdfAfvlmLNckD5TBWB7Yizn55qLT6XR2iIUFCxagUqmYPHkyAC+++CJ/+tOfGD16dIX5Ll68yM6dO3nssceqXGZSUpLDP2BHrl8Y/w5s8d048vuWXFMGe+WbPfNaVJ+jvwdz1m+3DnURERFcuXJF/zg9PZ3IyMgK8xQWFrJp0ybGjRtnr7CEEEIIp2O34t63b19OnTqFVquluLgYjUZDVFQUBw4cAG6d1/n0008ZN24cLi4upKam6gfgF0IIIYT57HbO3cvLi0mTJrFw4UJUKhWzZs0iPT2dGTNmsHXrVt566y3WrVvHJ598AoBKpeLnn3+2V3hCCCGE07DrIDZxcXHExcVVeG7btm3AresgZ86cac9whBBCCKckY8sLIYQQTkaKuxBCCOFkpLgLIYQQTkbuCmdFU157natZ2TZbfnCDAObNmWWz5YvaRfJNgOSBMEyKuxVdzcomt3E3263g0iHbLduA8qNG+fr6MmnSJDp27Ghw3tTUVJ5//nm+/fZbu8ZYl0m+Sb6B5IHkgWFS3IVBe/bs4erVq7z88sv8+OOPNGvWjLZt2xqdPywsjPnz59sxQuFMJN8ESB5YkxR3YVBSUhL16tUDYNCgQVXO7+rqSnh4uK3DEk5K8k2A5IE1SXF3UqtWrWL9+vX89a9/5ZNPPiE6Opp77rmHxYsX89RTT7FkyRK2b9/Ohg0byMvL49y5c0RFRfHQQw/xyy+/cOjQIf1yOnbsyNtvv80LL7xAt27d+OOPP9i+fTtZWVmoVCqmTZvGihUr2LRpk7557LvvvuPGjRvs2bOHZ599lpCQEObMmUPnzp05deoUx44dY+XKlTRp0qTS8iZMmMATTzxBQEAAS5YswcXFhaeffpoXX3zRaPOccCzJNwGSB0oiveWdVPfu3blw4QK9e/dm/fr1HDx4EI1Gw6VLl+jUqROfffYZSUlJ/O9//+Oxxx7jjTfe4OOPP+bYsWPcfffdREdHEx0dzejRo+nQoYP+tpIlJSW8+eabPPnkk0ydOpXjx4+Tl5dHr169yMrKAuD06dOcOHGCcePG6ZfdtGlT6tWrR05ODu+++y49evRg+/btBpfn6enJa6+9Rm5uLt7e3nh6etK5c+da+QOrKyTfBEgeKIkcuTspd3d3vL29ad68OQD9+/fn1KlTAPpzWHPnzqVx48bArVvw9urVi127dtGlS5dKyytrKjt37hw6nQ4PDw8AvvrqK+DWLSrLHDp0iNzcXL777jvy8vK466670Gg0qNVqWrduDUBISIh+z93Q8mJjYykoKODEiRPk5eURExNj3Q9IWJXkmwDJAyWR4l5H+Pn5Vbofsk6n49q1a/rHAQEBqFQqk8vRarWkpKSg0WhQqVRotVpycnIqzFNaWkpwcDAjRowA4KGHHsLVtXIjkU6nM7q8Bg0aMGrUKL744gvCwsL45z//aeE7F44g+SZA8sCRpFneiRUUFKDT6QA4e/Ys99xzD4C+qatPnz7s2bOH4uJi4NZlJQMHDgRu/wDuFB4ejouLC0uXLqWgoIBVq1bp967LxMbGsnr1an766Seys7P573//i4uLi8EYTS1vyJAh7N27F1dX1yp//MLxJN8ESB4ohRy5W1FwgwCbXhMa3CCgWvMXFxezfPlyVCoV3bt3Jy0tDYC1a9fy4IMPcvfdd/Pggw/y0ksv0alTJ3r16kVERASpqakcPHgQFxcX/vjjDzw8PLhw4QIHDhwgJiaGBQsWMH36dNasWcOsWbPw8vJi3bp1ZGVl8dtvv9GxY0eeeeYZpkyZgr+/P/Pnzyc9PZ2TJ0/i6upKbGwsiYmJaLVacnNzDS4PwNvbm4EDB9KnTx+rf5bOQPJN8g0kDyQPjNDVYidOnKjT6zclJSVF16dPH0eHUWMff/yxyenGvgNbfDeO/L6VnGs6neSbtb8fe+a1NdX1PLAXc9YvR+5CkX777Te0Wi3+/v6ODkXUAZJvApwrD+xa3OPj49m7dy8lJSUMGTKEdu3aVZi+ZcsWzpw5w82bNxk7dixhYWH2DM9paDQatm3bxrVr14iPj6+VPT6nTJlCeHg4ixYtcnQoogqSbwIkDxTHDi0IOp1Op8vLy9M9+OCDutLSUl1RUZFuzJgxFaZfvnxZ99hjj+l0Op3u6tWruokTJ1a5zNrQNCJsS5rlhT1Js7zQ6Rz/PZizfrv1lt+9ezfNmzdHpVLh4eGBu7s7CQkJ+ukbNmzQDxYQFBTE2bNnSU9Pt1d4FtP9f69QYX917bOva+9XaZTy+Ssljrqqtnz+divuiYmJBAYG6h8HBQWRnJxsdHpgYGCF6UqkUqkoKSlxdBh1VklJCW5udaPbiLu7OwUFBY4Oo05TQr5JHjieEvLAHHaLMDc3l9DQ0NsrdnOrMJBBbm4u9evXNzrdkKKiIpKSkqwfrJlKS0tJTU2lYcOGBgdLELaj1WpJT0+nsLDQbjngyHzTaDScO3eOsLAw1Gq10et3hW3YO9+M5ZrkgWM5YrtjKbsVdz8/P4qKivSPCwsL8fX1rTC9bFADQ9MNUavVlTrl2ZNWqyU1NZWLFy86LIa6zNvbm6ioKIM7Vrb44Tk6327cuMGVK1ektchB7JlvpnJN8sCxTOWBvZiTb3Yr7hERERw4cED/OD09ncjIyArTMzIy9I8zMjIqTFciV1dXmjVr5ugwRB1Rv379Cq1bom6SPBDmsNuuR9++fTl16hRarZbi4mI0Gg1RUVH6gj948GCOHTsGwJUrV2jVqhUhISH2Ck8IIYRwGnY7cvfy8mLSpEksXLgQlUrFrFmzSE9PZ8aMGWzdupXGjRszaNAgPvzwQwoKCnj77bftFZoQQgjhVOza5S8uLo64uLgKz23btk3/9wMPPGDPcIQQQginJF28hRBCCCej/Iv1THD0pXBCucpfmWHNZUq+CUOsnW+Sa8IUc/LNRVdbhtsRQgghhFmkWV4IIYRwMlLchRBCCCcjxV0IIYRwMlLchRBCCCcjxV0IIYRwMlLcHej06dOMGDGC1NRUNBoNw4YNc3RIJl26dInHH3+cw4cP23Q9586d038u5f8WNSP5Zpjkm/VJrhlmz1yT4u5ArVu31t8XWKVSsXbtWgdHZFrjxo2pX78+tr56skWLFnh4eFT6uzpycnK4ceOGtUOr1STfDJN8sz7JNcPsmWtS3B1MrVbr/1apVA6MxDzl47Uld3d3g3+bo7S0lFmzZsnG1gDJN8Mk36xPcs0we+VarR6hzpTvv/+ezZs3ExkZydatWxk6dCgDBw5k27ZtBAQEcPToUaZNm4aPjw9ffPEFvr6+JCYm0q1bN2JjY5k9ezZBQUEcPHiQd955x+i9ldeuXcvmzZuJi4tj06ZNDB8+nJs3b7J//36GDh1KixYtyMjI4NChQ4SEhPD000+TkJBAYmIibm5unD17FoC9e/fy/vvv89VXX7F06VJSU1OZMWMG8+bNIyAggL/+9a9MnjyZRx55hCNHjpCZmcno0aPZvn07WVlZLF261OTnsXjxYrp06cKWLVvw8vJiyJAhHDt2TB/Da6+9hkql4pNPPiEkJIT4+HiGDRtGTEwMZ8+eZefOnTRo0ICjR48yfPjwSssvLi7mxx9/pLS0lK1bt9KnTx9mz57N9u3bWbBgAaNGjSImJobdu3eTk5PDL7/8Qvfu3Rk6dCg7duygsLCQbdu28cADD1S6/0B5GzduRKPRsGXLFiZOnEhycjIbNmygW7du7Nixg4kTJ9K4cWN+//13tm7dyuDBg2nYsGE1Mscykm8VSb7ZjuRaRZJrhjntkXt0dDSXL1/mmWee4fPPP2fp0qU8+eSTDBs2jAcffJCwsDCWLl3KL7/8wunTpxk2bBjPP/88b731FgBNmjQhMDCQtWvXGk1+gJiYGLKyshg9ejRvv/02a9as4fHHH+eNN97ghx9+4LPPPsPNzY3o6GjOnDlDQUEB8+bN49FHH2X06NGEhoYC0L17d7KysnBzcyM2Nha4tSfZvn17AO666y7q1atHVFQUc+fOJTs7m9DQUObMmUNWVhZXrlwxGmNSUhI7d+4kLi6O9u3bo1KpePXVV3n00Ud55JFHKCgo4Ntvv2XdunXodDqGDRvGhAkTmDx5MlqtlqlTpzJmzBhGjhxJRESEwXV888035Obm4u/vT2RkJIGBgYwdO5Z58+YxcuRIYmJiuH79OmvXrmX48OFMnjwZNzc3Tp8+zb59+6hXrx7R0dEkJiYafR8//fQTycnJ+Pj40LlzZxITE+nSpQvXrl1j/Pjx/POf/2THjh20atWK4OBgBg4caJfCDpJv5Um+2Zbk2m2Sa8Y57ZG7i4sLfn5+qFQqgoODCQ8P5/Tp0/j4+ADQsWNHvvzyS+rXr4+3tzcAPj4+hIaGcvHiRVxdXWnQoEGVzUkqlQpvb29cXV3x9PTU/61Wq7l8+TINGjSgf//+AAwaNIgTJ06g0+lwcXEBbt0KF9CfnzLFzc1NH7+Xl5f+b7VaTXFxsdHXlf3Idu3ahYuLC08++SQbNmzA1fXWvl2HDh34448/0Ol0tGnTBoCmTZtSWlpKVlYWly5dwtPTs0K8dzp9+jT33Xcfd999N/3790ej0RATE8N9993HU089BcCFCxfQarUANGrUiPvvv58ff/yRwMBA/Wek0WiMvo9Tp07RpEkT+vfvr1/H5cuX8fX11X/+JSUlVX6OtiD5dpvkm21Jrt0muWac0x65Q8UPU6fTER4eTkJCAgC5ublER0cTGRnJ0aNH9fOpVCpatWpllfUHBARw5swZfvrpJwC2bNlCSEgI586d49q1axViK8/d3Z38/HwAsrOz9UljKT8/PyZNmkTfvn0ZNWoUDRo0QK1W65vN8vLy9J9F2edTWlpKaGgofn5+FBcXc+rUKf3yDMXTokULPvroIwoKCsjJyeHgwYN8//33LFu2jGnTplFcXEyTJk2Ij4/nwoUL6HQ6tmzZQosWLVizZg0pKSloNJoKtwA2tI7ly5eTlZVFUVERu3fvNvm+dTpdjT+76pB8u0XyzfYk126RXDPOaY/cAVJTU1m3bh03btzgueeeo2nTpixatIiLFy+SnZ3NE088gVqt5ujRo8ybN4/Q0FAmTpyIVqvl5MmTpKamMnDgQP3eryHHjh0jPT2dtLQ04uPjycjIICUlhYSEBK5cucKUKVN488038ff3Z8qUKYSEhDB58mSeeOIJ7rvvPgoLCzl8+DBXr17l+vXrnD17lsjISK5cucLUqVMJDAwkMzOTy5cvk5aWxrFjx3BxceHy5cskJCSg0+lIT0/n119/pUmTJgZjvHnzJvPmzePDDz9Ep9MRERHBwoULWbJkCXfffTcAgwcPRqPRkJSUxAcffICHhwczZszA3d2dOXPm8NJLLzFgwACuXLnC8ePH6datm37vGOChhx4iISGBfv36ERcXR0hICE2bNqVDhw54eHjwxhtvMH36dF555RXGjBlD69atmTZtGuHh4Tz88MOMHDmSqKgoZs+eTUZGBpcuXeLIkSO4u7vr/x42bBj79u1j0KBBxMbGMmfOHPbs2aP//I//X3t3Ht9EnTdw/NOmbWjL0dJSbClXUY6Wy20RH5CncokLgqC4vBQ5nhXEa1FEFw88OERghVVBZXlYLtdH1wMVXKGtHKJdRFpRQaogEWlp0wJtqb2b4/mj29DQJE3TZDJNv++/Mplk5pvkm/nO/OY3vzl2jDNnzlBYWMigQYN45ZVXePTRR4mJiXFvYtkh+VZL8s3z+Sa5VktyzX6u+exd4XJycnjyySd58803vR2K16Wnp6PVaklKSsJsNnPw4EFiY2Pp1auXt0PzGZJvl0m+eZbk2mWSa/b57JH7oUOH0Ov1ZGdn07VrV2+H41UGg4GNGzcSGRlJTEwMiYmJkvxuJvl2meSbZ0muXSa5Zp/PHrkLIYQQrZVPd6gTQgghWiMp7kIIIYSPkeIuhBBC+Bgp7kIIIYSPkeIuhBBC+Bgp7kIIIYSPkeIuhBBC+Bgp7kIIIYSPkeIuhBBC+Bgp7kIIIYSPadFjy3/77bdotVpvhyFUqKqqisGDB7t1mZJvwh5355vkmnDEmXxr0cVdq9XSr18/b4chVCgrK8vty5R8E/a4O98k14QjzuSbNMsLIYQQPkbRI/eKigo2b95MYWEhzzzzTIP5p0+f5r333kOr1XLdddcxfPhwJcMTQgghfIKixb20tBSDwUBZWVmDeWazmaeeeoq///3vtG3bllmzZjFkyBCCgoKUDFEIIYRo8RQt7p06dSI2Npa8vLwG87777js0Gg1t27YFoHv37uzZs4dJkyYpGaJb7d27l7S0NACKiooACA8PB2Ds2LGMHj261cRRPwZvxuGr1PL9qjGOK2NQMg53U8vnaglxtLZt7JUU71Dn5+dn8/kffviBiIgIy3RkZCSnT592uKyqqiqPdJxyl9zcXEsrxYULFwAsLRG5ubmKxa6GOOrH4M04mkPN+aaW71eNcVwZg5JxuMperqnlc7WEOFrbNvZKfmaz2azkCnfs2MHXX3/NypUrrZ7fsGED2dnZvPDCCwC8/vrr5OXlsWzZMrvLysrKajE9Sp944gmABp9b4vBMHJ7IDcm3lhmHEjG4OzecWZ4avluJwztxOJMfqukt36FDB6qqqizTlZWVliZ6IYQQQjhPNcW9b9++FBQUWKb1ej0JCQlejEgIIYRomRQv7leeBTh06BDV1dUMHjyY0tJSKioqAMjJyWHkyJFKhyeEEEK0eIoW9/Pnz3PkyBFOnjxp6Sy3YsUKzpw5g5+fH0uXLmXNmjW89tprPPLII4SGhioZnhBCCOETFL8U7spOBrt27bI87t+/P/3791cyJCGEEMLnqOacuxBCCCHcQ4q7EEII4WOkuAshhBA+Roq7EEII4WOkuAshhBA+Roq7EEII4WOkuAshhBA+RvG7wgkhhCds3LgRnU7X4Pm65+pu6HGluLg47r33Xo/GJoTSpLgLj7G3sQXHG1zZ2ApX6HQ6dDodcXFxVs/Xv8+4rfcI4YukuAuPsbexBfsbXNnYiuaIi4tr0q027R3NC9HSSXEXHiUbWyGEUJ50qBNCCCF8jBR3IYQQwsdIcRdCCCF8jBR3IYQQwsco2qEuIyODgwcPUlNTw6RJk+jXr5/V/G3bthEQEMClS5fo3bs3Y8aMUTI8IYQQwicoVtzLy8tZvXo1b7/9NkajkTlz5rB9+3bL/OzsbDIyMli3bh1ms5nx48dLcRdCOK2oqIiioqImXXGh0+kcXgcvhC2ujuEByo3joVhx379/P927d0ej0aDRaAgMDCQzM5PExESgtvgfO3aMsrIyzGYzQUFBSoXmVjJK1mWysfUstQwSpJY4hFCKK2N41L1PKYoV9+PHjxMREWGZjoyMRKfTWYp7nz59SEhIYN68eVx77bW89NJLSoXmVmoYJasl7FWK5lPLIEFqiSM8PJzw8HAZV0EooqljeICy+aZYcS8tLSU6OvryigMCuHjxotVrli5dyu23305FRQWzZ89udJlVVVVkZWW5O9RmKSsrc2nglrKyMrd9lmPHjpGfn+/SXqU74wgKCvL6d+FOass3NeSa2uIIDQ116X1q+l3BuVwrKysD8HrsSsbx8ccfc+7cOZvzcnNzAfjTn/5kc36XLl249dZb3RKHq7lW914lvivFinuHDh2oqqqyTFdWVtKuXTvLtMFgYPXq1ezatYvHH3+c+++/n3/+85/4+fnZXaZWq23QKc/bXP3BQ0ND3fZZQkNDm7VX6c44XH1fc2PwxJ9HbfmmhlyTOGq5O9/q55q9lrj8/HygtiOyLUqdflEyjm3bttk9cImMjARs54FOp3P7NrY571Ui3xQr7n379iU9Pd0yrdfriY+Pt0x/8cUXtG3blnbt2vHXv/6VCRMmkJWVZfUaIYRobdRwqk9Ncai9OVwtFCvuo0aNYsuWLZhMJgwGA0ajkYSEBNLT0xk+fDhhYWGUl5cDEBwcTP/+/S17YkII0Zqp5R4NaolDNE6x4h4SEsL8+fNZu3YtGo2GZcuWodfrWbJkCSkpKVx77bUcOXKEf/7znwQEBDB27FiioqKUCk8IIYTwGYoOYpOcnExycrLVc6mpqZbH0ktbCCGEaD655asQwmfodLoGTcFFRUWA7XPD9i7hE6Klk+IuhPAJ9oq0o+IeFxcnxV34JCnuwqNsHUmB/Q2uHEkJV9k7rVeXf03tYS1ESybFXXiMoyJtr7jLkZQQQjSfFHfhMY46SMrRlBBCeI4UdyFEs8gNgoRQHynuPsiVjS3IBlcIIXyFFHc3k6MYoRS15JrcjU0I9ZHi7oNc2diCbHCFEMIZLaF11CeL+969e0lLSwNs98oeO3Yso0eP9si65ShGKEVyTQhhj8PifuTIEQD8/PwYMGAAWq3WMu+HH37g6quvtnpOjRwNYCGEEEI0VUtoHXVY3Pfv38+///1vXnzxxQZFvE+fPmzevJmZM2fSpk0bjwbZVKNHj7YcmcslVy2bN1thhBCipXJY3P39/dm6dSthYWEN3xgQwIwZM9i+fbvc8EUoQlphhPAeNXTgbAnnutWi0eJuq7DXCQ4OJj8/390xCWHRElphHLUuSMuCaC41FFXR8jgs7mazudEFSHEX4jJpXRC+Sg0dOFvCuW61cFjcL1y44PDN1dXVnD171q0BCdHStITWBdFyqaGoipbH39HMHj16sG3bNrvz//KXv5CQkOD0yjIyMli7di2rVq0iKyvL5muys7NZv349n376KaWlpU4vWwghhBC1HB65z549m2nTppGWlsa4cePo2rUrAQEBnD17lp07d3LmzBk+/PBDp1ZUXl7O6tWrefvttzEajcyZM4ft27dbvUan0/HCCy+wfv16goODXf9UQghFya19hVAXh8Vdq9Xy5ptv8vzzz7Ny5UpMJhNQey4+Pj6ef/zjH0RHRzu1ov3799O9e3c0Gg0ajYbAwEAyMzNJTEy0LHPhwoWsXLlSCrsbNHVjW/ce2eCKppJb+wqhPo2OUNeuXTvWrFnDokWLOHHiBGVlZfTq1Yu+ffs2aUXHjx8nIiLCMh0ZGYlOp7MU9/T0dC5dukRGRgavv/4606ZNY9iwYU38OOpgq7AqWVRd2djWvU8NG9yNGzei0+kaPF/3nL3ziXFxcXJZphfIrX2FUB+nh5+NiooiKirKMp2VlcWPP/7IqFGj6NChQ6PvLy0ttTrKDwgI4OLFi5bpw4cPM3ToUKZPn07//v2ZPXs2aWlpREZG2l1mVVWV3XP3dcrKyizxKiEsLIzOnTtb1lunrnNiUFBQg/d07tyZsLAwt8U4YsQIRowYYXPe66+/DsCsWbPsvj8rK4uMjAy+/vpry3O//fYbULuzB3DdddeRlJTkcoyOfpdjx46h+zUb/5Awq+fNxtouIj+c0Td4j6m8mLKyMo/+zmrLt7KyMvLz85vcHN65c2fF/g9K///UGkNT1c+1srIyQkNDm7wMd/8f1BCHqzH4ahyOOCzuw4cP54EHHmDq1KkEBgZanvf396dfv35UVFQwcuRIvvnmm0ZX1KFDB6qqqizTlZWVlkIBtRujbt26ATBo0CA6d+7M0aNHGTt2rN1larVa+vXr53C9dT9AY69zF3vrcfYIpv410+D+66ad/T5yc3OtkrfukserrroKgJiYmGZ9p47iCA0NxT8kjOAE5z9nxQ97CQ0NtSzPE38eteXbgAED7G5gGmsOV+r/oPT/z1sxuDvf6ueaq0Wk/v/BHdQQh6sx+FoczuSbw+KenJzM9OnTAfjoo49YsmQJ999/P+PHjyc2Npbf/e533HTTTU4F07dvX9LT0y3Ter2e+Ph4y3Tnzp2tLr2LiopS/bj1SvDWddP1L+8CZZtXi4qKMJUXU/HDXqffYyovpqiodeWLNIe7nwxIJHyFw+Jef3S6yZMn89133zXYoHTs2NGpFY0aNYotW7ZgMpkwGAwYjUYSEhJIT09n+PDhjB8/nscffxyo7VxXXl7Odddd18SP0/J5s6gKIS6TAYlES9akEerqN6M3VUhICPPnz2ft2rVoNBqWLVuGXq9nyZIlpKSk0KtXL2bMmMGrr75KUFAQCxcuVN0NaYQywsPDyb1U1eRmedkIi+aSAYmEr3BY3P38/BpdQN3erTOSk5NJTk62ei41NdXyeMqUKU4vyxOkSU49bDXLm2sqAfALbLjTZyovBq5SIDIhREvm6X5NrsThiTteOizuW7ZssRpoxmg0snnzZsu02WzGZDLx4osvuhyAWkmTnPfYuxyv7lK4uB62ivhVqriMT7Qs9i67BN+69FItBy5qiaM+NWzrPRGDw+J+ww03cNNNNxEQYPtlBoOBnTt3ui0Yb/NWk5yrGxh3b1zUEoe9ZUkzqXBW/SJiK3frCklmZiY5OedAY2Mb959Bu46d+LHhPKOhSa2WaqKGYubNONzVr6m5A4V5ut44LO4PPvgggwcPdriAHj16uC2Y1kqn03HsxI8NrusG+9d21zZD+2YcQjmebhp0RxzNjcHbRUwN1NKXQC1xNFdLGCjMYXFvrLADdo/qRdO4cl23uzk6ErF1ntuZ94mWw5eO6K48OrMnMTHR7nosp4HsbIzlNFDr1RIuQ3W6Mp86dYotW7aQn5+PwWDAbDZjNpv5+eefOXTokCdj9Hmt4bruKzuxXNlUKh0WlbN48WJOnjzZ4PmKigoAq1Mzf/vb3/jb3/4GQO/evVm+fLlHY7AVR/0Y3B3HlRvpK/O0PsnRlis3N5fKykqbzehqOPXpif4dThf3efPmERcXx4ABA6yO1p3pUS9ahvDwcHLy8m3Oc9RT3ZUjLG8fHXqbN5vDz58/32B45PrszTt//rxiMSgVhyMtOUddLWbg3oLmiaLqyrnuoqIiTH4am0NXK3nK0W4fDw/073C6uAcFBbFp06YGz58+fbrJKxXWlCyqjjhqZrTfU925XurONpO2Rko3h9trilayGVqtzeFqzdOm3ozKlWIGjRc0JeJwFIOr57oDAgKoNpobPA9eOOWoCbDZr8keV3cynC7ujz32GN9++22D8/AFBQX06tXLpZV7m1oug/FkUW0KNZ5HcrbXc0ughuZwsP6dHTVDg+e+X2kOd569/7kniln95XozDnsxuLqNmjdvnt0DKCXZO5BzdBBX976mslvc7733XiorK62e0+v1lhuHQO117jqdzmrM+JbEld7h4P7mGjUWVTVqyc2koI7mcEfU8v2qJQ61cOXSUE8UM7XE4Qq1t456YgwPu8W9W7duXLx4kZ49e+Lv72/zNWazmZqamiav1BNc6ajw008/2V2eq3u3wr3U2kzqCjU0h19JLd+vWuLwFa4Ws7r3ejuOlnTKsSmUHMPDbnG/55570Gg0lnu4V1dXN7gX+aVLl/j973/vtmCaQ6fTWQ0QUMdRktTU1IC/XMonlCGD8wiluFbMwN0FTe1FFXz3/2e3skVHR1tNv/HGGzz88MNWz9XU1PDRRx/x2GOPeSa6JoqLi2vSD/SHP/yBCv+QJl1fDnKTktbOHX01fKkvgVAftRQztcTRGjV62PrWW29RVFRERkYG69evt5pXXFzMrl27VFPcXWHv+vLWfpMSuS7dPnutROC4pcjeDoHsKArR+nh6B7/R4j558mQWLlzIuXPnOHz4sNW8oKAgnn76aZdX7m11t5S11TzlrZuUqLWoSgGy1tRWIrD+48o5ZiG8Q43bWE9sXxst7qGhobzyyiukpqYyceJEq3kmk8luZ7uWICYmBrDdLKSWJiNvFVUpPkL4DkdHid66K5waiir47jbWqd5kWq22QWEHyMvLY9++fcyYMcPtgbVWUlSFEJ6kllY4Xy2qauF0V/GUlBRee+01ysvLMZtrByWoqqqisrLS6eKekZHBwYMHqampYdKkSfTr18/m65599lkGDx7Mbbfd5mx4Qggh7FBLQVNLHK2B08V906ZNTJw4kVOnTpGUlERgYCCZmZmMGjXKqfeXl5ezevVq3n77bYxGI3PmzGH79u0NXvf999+zb98+p+5IV19RURFFRUV2eynbotPpVLMXK4QQQriL08X9pptuYu7cuWRnZ3Ps2DHGjx/PuHHjWLx4sVMFfv/+/XTv3h2NRoNGo7HsHCQmJlpeYzKZSEtL44YbbnDt0wihAFd2JKF17EyqsbOSEK2R08Vdp9Oxa9cuRo4cSUZGBtHR0eTl5XHw4EGn3n/8+HEiIiIs05GRkeh0Oqvi/tFHHzFlyhQ2btzYhI9QKzw8nPDw8CZ1gLty46zGzh5CtGS+vjMjhFo5XdzvvPNOli5dSvfu3Zk7dy4zZ84kOzubO++806n3l5aWWg2MExAQwMWLFy3TRUVFFBcXN+kSs6qqKrKysoDacblDQ0Odfm+dsrIyyzJyc3Mt43uHhIRY5tfNq3udK+qW05xluINa4miJ6vItKCjI5Uvh6uebJ3nrd46JiWHWrFkOXyO517j62zZ71PJfljjUGYfD4r53717L0erAgQN5//33LfPS0tK4dOkSX3/9tVMr6tChA1VVVZbpyspK2rVrZ5l+5513mD17dlNiR6vVWjrluVLY695Xt4x+/fp5rOd/XXz2OhEqRS1xeJon/lh1+eZqroF1vrnTlc3h+fm143lv27YNkJYnT3N3vtXfttmjlv+yxKF8HM7km8Pivnz5clJTU+1ey240Gjly5Ahjx45tdEV9+/a1unucXq8nPj7eMv3WW2/x3nvvAbVH8fv378dkMjF16tRGly2EsCbN4UK0bg6Le3l5OampqXZ7rhsMBkpLS51a0ahRo9iyZQsmkwmDwYDRaCQhIYH09HSGDx/Ol19+aXntE088wXXXXSeXwgnhJLnESAhRn8Pi/vnnn/Pee++Rnp7OuHHjmDhxIgEB1m/ZtWuXUysKCQlh/vz5rF27Fo1Gw7Jly9Dr9SxZsoSUlBT8/Pxc/xRCCCGEsHBY3Nu0acOMGTOYPn06u3fvZv78+SQlJTFt2jTLeYUxY8Y4vbLk5GSSk5OtnktNTW3wOm8P+SqEEEK0ZE71lvf392fChAlMmDCBQ4cO8dRTT9GtWzdmzpxJp06dPB2j03Q6XYPL24qKigDb5yDt3dlLCCGEaMmcvhSuzn/913/Rp08fFi9ezOjRo5kyZQpLlizxRGxNYq9IOyrucXFxUtyFS2ztSILsTAoh1KFJxT0nJ4fNmzezY8cO/P39ueuuu5p8+Zqn3HvvvTafV8vd3YTvcFSgZWdSCKEGThX3n376iY0bN5KSkkJYWBj3338/d911l9V16kK0FvZ2JEF2JoUQ6uCwuGdkZLBx40a++OILunXrxjPPPMOUKVMICgqyvCYrK8vrgwYIx2RYXSGEaF0cFve7776b4OBgpk+fzpgxY9BoNHz33XeW+QaDgffff581a9Z4PFDhHjK4iRBC+D6HxX3QoEFMnTqVgIAA8vLyGsw3Go0UFhZ6LDi1M5lM5OTkWMYSdmTSpEmAd8Ybbmy8b2+Pgeyq0NBQYmNj7Y6g6GtKSkooKCigpqbG26G0Sq0p31rKts1X4wgMDCQqKor27du7vAyHxf3xxx8nKSnJ4QJ69uzp8spbugsXLuDn50efPn0a/cPn5OQAEBsbq0RoPs9kMnHu3DkuXLhAVFSUt8PxuJKSEvLz8+nSpQvBwcEy6JPCWlu+tcRtm6/EYTabqaio4Ny5cwAuF3iHv1pjhR2wumVra1NcXEznzp3tJn9JSQk5OTnk5ORQVVVFVVWVZbqkpEThaH2Lv78/nTt35tKlS94ORREFBQV06dKFkJAQKexe0NryrbFtm/AcPz8/QkJC6NKlCwUFBS4vp8nXuYvLjEYjgYGBTr32ymF7RfMFBgZiMBi8HYYiampqCA4O9nYYrVpryrembNuEZwQHBzfrFJxUnGZydBTVvn37Zp0zEY61tiPY1vZ51aa1ff+t7fOqTXO/f2lzEUIIIXyMHLm70fLly52+Ba4r2rZty+LFiz22fNGySL4JJdnLt7pTFc099Sj55l5S3N2otLTUoyOT2RrLXLRekm9CSZJvLYs0ywshhBA+Ro7cfVRpaSnbtm0jKCiI3bt3s2XLFrZv345Wq+Xw4cO8/PLLtGvXjk2bNhEQEEBWVhY33XQTo0ePZuvWrXzyySeMGDGCvXv3snPnTrZu3QrAvn37eO655+jVq5d3P6BQDck1oSR7+VZZWcl3333HG2+8IfmGwsU9IyODgwcPUlNTw6RJk6zGpDeZTDz77LPs3r2bPn368NJLLxETE6NkeD7liy++oGPHjtx555106tSJFStWMHv2bPr160dOTg4//vgj+fn5VFZW8tBDD1FcXMxNN93Ejh07uOGGG1i/fj3r1q1jwoQJfP755xiNRu655x4CAwNZtWoVGzdu9PZHFCohuSaUZC/f2rVrR15enuTbfyjWLF9eXs7q1at5+OGHWbBgAS+++KLV/M8++4xbb72VL7/8ksjISLmrVjP179+fdevWsXjxYoYNG8aBAwcse6RLly5lyJAhpKSkWEZRCgsLo3///nz55Ze0adOG9u3bEx0dzdVXX81XX33FhQsX2LFjB2VlZXTq1MmbH02ojOSaUJKjfHv00Ucl3/5DsSP3/fv30717dzQaDRqNhsDAQDIzMy0j3MXHx1t+jPvuu4+FCxcqFZpPiomJ4eOPP2blypXcdtttFBcXc+bMGXr37g3UDi9pNpu5ePGi5T3h4eE2e7waDAZ69erFbbfdBkB1dbUyH0K0CJJrQkn28i0kJASQfKuj2JH78ePHiYiIsExHRkZabj8K1uPwlpeXM2DAAKVC80lpaWkEBwezZs0a+vTpw6hRo1izZg0lJSV8+eWX5ObmMnLkSMutYAHOnz/PjTfeCNSeJqlz3XXX8cYbb5CZmcmFCxd47733lP44QsUk14SS7OVbaWkpGRkZkm//odiRe2lpKdHR0ZdXHBBgtWdV3969e5k7d26jy6yqqmr0zjt1dzXyxJ2CampqqKiosEyHhITw5z//2e3rqdO2bVur9TlSXFzMnDlzmDBhAvHx8UyePJknn3ySUaNGMXv2bO655x569erF999/z+OPP06PHj2YPn06oaGh7Nixg/Pnz/PZZ58xfPhwbrjhBsaNG8e8efPo2rUrK1eudDoOT6upqVHsLlDezLcrcw3Uk2+tJddAuXxT27YN7OdbXbFs7jj0zc236dOn84c//IFx48Z5Nd/qvg935G1z8s3PbDabmx2BE1566SU0Gg0LFiwAYOHChfzud79j+vTpVq87e/Yse/fu5X/+538aXWZWVpZVpzxb6q6d9MQ5fGfWLzzL3m/gid/Gm/kmuaYOSuVbS9q2+crd2NQYR3PyTbFm+b59+1rd4Uav1xMfH2/1msrKSj755BNmz56tVFhCCCGEz1GsuI8aNYqTJ09iMpmorq7GaDSSkJBAeno6UNuU8fe//53Zs2fj5+dHTk6O1Tl5IYQQQjhHsXPuISEhzJ8/n7Vr16LRaFi2bBl6vZ4lS5aQkpLC888/z4cffsimTZsA0Gg0/Pvf/1YqPCGEEMJnKDqITXJyMsnJyVbPpaamArXXwy5dulTJcIRwi71791p65ta1NtWdDx07diyjR4/2WmxCiNZJhp8Vwo3Cw8O9HYIQQvhmcXd0JAVyNCXca/To0ZJPQghV8cniXp8cSQkhhG8qKSmhpKQEqB0bAC5fita+fXvat2/fquKozyeLuxxJCSFE62JreFlvUE0c3g7Alyx66hnOFxZ5bPmdOoazasUyjy3/Slu3buXChQscOXKEdu3aMX/+fAYOHGjztTk5OTzyyCO8//77isXX2km+Sb4pyV6+GQ0GADTNLGqu5JurR8XuzjVvHZ07IsXdjc4XFlHaZajnVnDusOeWfYUDBw5w/vx5Hn/8cT799FO6detGnz597L4+JiaG1atXKxafkHyTfFOWr+Rba8k1Ke7CpqysLNq0aQPA+PHjG329v78/cXFxng5L+CjJN+dIZ+Hmay25JsXdR7311lt8/PHHTJw4kU2bNpGYmMiNN97Iyy+/zH333ce6detIS0tj586dlJWV8csvv5CQkMC0adP46quvOHz4sGU5AwcOZPny5Tz66KMMHTqUn376ibS0NAoLC9FoNDz99NNs3bqVTz75xNJ0tWPHDkpKSjhw4AB/+tOfiIqKYsWKFQwePJiTJ09y9OhRtm/fTmxsbIPlzZs3j7lz5xIeHs66devw8/Pj/vvvZ+HChXabzoR3Sb4pr7V2FpZcc44Udx81bNgwXn31Vf77v/+biRMn8vvf/54RI0Zw7tw5Bg0axObNm8nKyuLbb79lxYoVGAwGxowZQ+/evbn++us5cuQIgOXGPnV3OqqpqeG5555j+/btAMycOZOysjJGjBhhee7UqVOcOHGCxYsX07NnT5599ln+9a9/0aZNG4qLi1mzZg3PPPMMaWlp3H333Q2WFxwczFNPPcVf/vIXQkNDMZvNDB48WNUb2tZO8k0Z0llYcs1ZUtx9VGBgIKGhoXTv3h2AMWPGcPLkSQDL+aWVK1fSpUsXoLaH54gRI9i3bx/XXnttg+XVNWP98ssvmM1mgoKCAHjnnXcA0Gq1ltcePnyY0tJSduzYQVlZGT169MBoNKLVarnmmmsAiIqKsuxV21rekCFDqKio4MSJE5SVlZGUlOTeL0i4leSbUIrkmnOkuLcSHTp0IDg42Oo5s9nMxYsXLdPh4eFoNBqHyzGZTGRnZ2M0GtFoNJhMJoqLi61eYzAY6NSpE7fddhsA06ZNs3mvZ7PZbHd5HTt25K677uLNN98kJiaGBx54wMVPLrxB8k0oRXLNNsXuCieUV1FRgdlsBuD06dPceOONwOVmqJEjR3LgwAGqq6uB2ks+xo0bB1xOzivFxcXh5+fHhg0bqKio4K233rLs+dYZMmQIb7/9Np9//jlFRUX83//9H35+fjZjdLS8SZMmcfDgQfz9/Rv9Ywrvk3wTSpFca5wcubtRp47hHr2co1PHpnWgqa6uZsuWLWg0GoYNG0Zubi4AH3zwAXfccQfXX389d9xxB4899hiDBg1ixIgR9O3bl5ycHA4dOoSfnx8//fQTQUFB/Prrr6Snp5OUlMRLL73E4sWLeffdd1m2bBkhISF8+OGHFBYW8v333zNw4EAeeughFi1aRFhYGKtXr0av1/Pjjz/i7+/PkCFDOH78OCaTidLSUpvLAwgNDWXcuHGMHDnS7d+lL5B8k3xTkpryTXLNCeYW7MSJE616/Y5kZ2ebR44c6e0wmu2NN95wON/eb+CJ38abv7eac81slnxz9+/j7d/b2+t3pLXkmtncvHyTI3ehSt9//z0mk4mwsDBvhyJaAck3oRSlck3Oufsgo9FIamoqFy9eJCMjw9vhuGTRokX87//+r6XjilAvyTehFMk15yl65J6RkcHBgwepqalh0qRJ9OvXz2r+nj17+Pnnn/ntt9+YNWsWMTExSobnMzQaDX/84x/54x//6O1QXLZ7925vhyCcJPkmlCK55jzFint5eTmrV6/m7bffxmg0MmfOHMvF/QB6vZ53332XzZs3c+HCBZ5//nnWr1+vVHguM5vNdntLCs8y/6e3bGshueZdkm9CSc3NN8Wa5ffv30/37t3RaDQEBQURGBhIZmamZf7OnTsto/RERkZy+vRp9Hq9UuG5RKPRUFNT4+0wWq2amhrV3F7R0wIDA6moqPB2GK1aa8o32bZ5X0VFBYGBgS6/X7FMPX78OBEREZbpyMhIdDodiYmJlvlDhgyxzI+IiECn03HVVVfZXWZVVRVZWVmeC7oRBoOBnJwcOnfubHMgA+E5JpMJvV5PZWWlYjngzXwzGo388ssvxMTEoNVq5YhKYUrnm2zbWi+z2UxVVRW5ubmYzWaX80Cx4l5aWkp0dPTlFQcEWI0gVFpaanU/3Cvn26LVahuct1eSyWQiJyeHs2fPei2G1iw0NJSEhASbGx9PbBi9nW8lJSUUFBTIEZWXKJlv3s412bZ5V2BgIF27drV7j3hn8k2x4t6hQweqqqos05WVlbRr185qft1oQrbmq5G/vz/dunXzdhiilWjfvr3dP7sQ7iTbtpZPsfaWvn37UlBQYJnW6/XEx8dbzc/Pz7dM5+fnW80XQgghhHMUK+6jRo3i5MmTmEwmqqurMRqNJCQkkJ6eDsAtt9zC0aNHASgoKODqq68mKipKqfCEEEIIn6FYs3xISAjz589n7dq1aDQali1bhl6vZ8mSJaSkpNClSxfGjx/Pa6+9RkVFBcuXL1cqNCGEEMKnKHpdR3JyMsnJyVbPpaamWh7ffvvtSoYjhBBC+KQWfdGmty8XEepVv/OmO5cp+SZscXe+Sa4JR5zJNz9zaxt2SQghhPBxMjqBEEII4WOkuAshhBA+Roq7EEII4WOkuAshhBA+Roq7EEII4WOkuAshhBA+Roq7F506dYrbbruNnJwcjEYjkydP9nZIDp07d4577rmHr7/+2qPr+eWXXyzfS/3Honkk32yTfHM/yTXblMw1Ke5edM011xAQUDuOkEaj4YMPPvByRI516dKF9u3b4+mhEXr27ElQUFCDx01RXFxMSUmJu0Nr0STfbJN8cz/JNduUzDUp7l6m1WotjzUajRcjcU79eD0pMDDQ5mNnGAwGli1bJhtbGyTfbJN8cz/JNduUyrUWPfysIx999BG7d+8mPj6elJQUbr31VsaNG0dqairh4eF88803PP3007Rt25Y333yTdu3acfz4cYYOHcqQIUN44YUXiIyM5NChQ7z44ov069fP5no++OADdu/eTXJyMp988glTpkzht99+48svv+TWW2+lZ8+e5Ofnc/jwYaKiorj//vvJzMzk+PHjBAQEcPr0aQAOHjzIq6++yjvvvMOGDRvIyclhyZIlrFq1ivDwcCZOnMiCBQu4++67OXLkCBcuXGD69OmkpaVRWFjIhg0bHH4fL7/8Mtdeey179uwhJCSESZMmcfToUUsMTz31FBqNhk2bNhEVFUVGRgaTJ08mKSmJ06dPs3fvXjp27Mg333zDlClTGiy/urqaTz/9FIPBQEpKCiNHjuSFF14gLS2Nl156ibvuuoukpCT2799PcXExX331FcOGDePWW2/ls88+o7KyktTUVG6//fYG9x+ob9euXRiNRvbs2cODDz6ITqdj586dDB06lM8++4wHH3yQLl268MMPP5CSksItt9xC586dm5A5rpF8syb55jmSa9Yk12zz2SP3xMRE8vLyeOihh9i2bRsbNmzg3nvvZfLkydxxxx3ExMSwYcMGvvrqK06dOsXkyZN55JFHeP755wGIjY0lIiKCDz74wG7yAyQlJVFYWMj06dNZvnw57777Lvfccw/PPvss//rXv9i8eTMBAQEkJiby888/U1FRwapVq5g5cybTp08nOjoagGHDhlFYWEhAQABDhgwBavck+/fvD0CPHj1o06YNCQkJrFy5kqKiIqKjo1mxYgWFhYUUFBTYjTErK4u9e/eSnJxM//790Wg0PPnkk8ycOZO7776biooK3n//fT788EPMZjOTJ09m3rx5LFiwAJPJxBNPPMGMGTOYOnUqffv2tbmO9957j9LSUsLCwoiPjyciIoJZs2axatUqpk6dSlJSEpcuXeKDDz5gypQpLFiwgICAAE6dOsUXX3xBmzZtSExM5Pjx43Y/x+eff45Op6Nt27YMHjyY48ePc+2113Lx4kXmzJnDAw88wGeffcbVV19Np06dGDdunCKFHSTf6pN88yzJtcsk1+zz2SN3Pz8/OnTogEajoVOnTsTFxXHq1Cnatm0LwMCBA/nHP/5B+/btCQ0NBaBt27ZER0dz9uxZ/P396dixY6PNSRqNhtDQUPz9/QkODrY81mq15OXl0bFjR8aMGQPA+PHjOXHiBGazGT8/P6D2VriA5fyUIwEBAZb4Q0JCLI+1Wi3V1dV231f3J9u3bx9+fn7ce++97Ny5E3//2n27AQMG8NNPP2E2m+nduzcAXbt2xWAwUFhYyLlz5wgODraK90qnTp3i5ptv5vrrr2fMmDEYjUaSkpK4+eabue+++wD49ddfMZlMAFx11VVMmDCBTz/9lIiICMt3ZDQa7X6OkydPEhsby5gxYyzryMvLo127dpbvv6amptHv0RMk3y6TfPMsybXLJNfs89kjd7D+Ms1mM3FxcWRmZgJQWlpKYmIi8fHxfPPNN5bXaTQarr76aresPzw8nJ9//pnPP/8cgD179hAVFcUvv/zCxYsXrWKrLzAwkPLycgCKioosSeOqDh06MH/+fEaNGsVdd91Fx44d0Wq1lmazsrIyy3dR9/0YDAaio6Pp0KED1dXVnDx50rI8W/H07NmT119/nYqKCoqLizl06BAfffQRGzdu5Omnn6a6uprY2FgyMjL49ddfMZvN7Nmzh549e/Luu++SnZ2N0Wi0ugWwrXVs2bKFwsJCqqqq2L9/v8PPbTabm/3dNYXkWy3JN8+TXKsluWafzx65A+Tk5PDhhx9SUlLCww8/TNeuXfnrX//K2bNnKSoqYu7cuWi1Wr755htWrVpFdHQ0Dz74ICaTiR9//JGcnBzGjRtn2fu15ejRo+j1enJzc8nIyCA/P5/s7GwyMzMpKChg0aJFPPfcc4SFhbFo0SKioqJYsGABc+fO5eabb6ayspKvv/6a8+fPc+nSJU6fPk18fDwFBQU88cQTREREcOHCBfLy8sjNzeXo0aP4+fmRl5dHZmYmZrMZvV7Pd999R2xsrM0Yf/vtN1atWsVrr72G2Wymb9++rF27lnXr1nH99dcDcMstt2A0GsnKymL9+vUEBQWxZMkSAgMDWbFiBY899hhjx46loKCAY8eOMXToUMveMcC0adPIzMxk9OjRJCcnExUVRdeuXRkwYABBQUE8++yzLF68mD//+c/MmDGDa665hqeffpq4uDjuvPNOpk6dSkJCAi+88AL5+fmcO3eOI0eOEBgYaHk8efJkvvjiC8aPH8+QIUNYsWIFBw4csHz/x44d48yZMxQWFjJo0CBeeeUVHn30UWJiYtybWHZIvtWSfPN8vkmu1ZJcs59rPnvL15ycHJ588knefPNNb4fidenp6Wi1WpKSkjCbzRw8eJDY2Fh69erl7dB8huTbZZJvniW5dpnkmn0+e+R+6NAh9Ho92dnZdO3a1dvheJXBYGDjxo1ERkYSExNDYmKiJL+bSb5dJvnmWZJrl0mu2eezR+5CCCFEa+XTHeqEEEKI1kiKuxBCCOFjpLgLIYQQPkaKuxBCCOFjpLgLIYQQPub/ATo1/k/WeqLGAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 576x864 with 12 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "y_label=['ASSIST0910','ASSIST2017','JunYi','MathEC']\n",
    "titles=['DINA','NCDM','CDGK']\n",
    "x_label=['poor','medium','good','excellent']\n",
    "palette=['#ffffff','#4884af']\n",
    "\n",
    "sns.set_style('whitegrid')\n",
    "\n",
    "fig,axes = plt.subplots(4,3,sharey=True,figsize=(8,12))\n",
    "plt.subplots_adjust(wspace=0.15,hspace=0.2)\n",
    "\n",
    "for j in range(3): # 模型\n",
    "    data=model_data[models[j]]\n",
    "    for i in range(4): # 数据集\n",
    "        sns.boxplot(x='cluster',y='mean',hue='mean name', data=data[i],orient='v',ax=axes[i,j],showfliers=False,palette=palette)\n",
    "        axes[i,j].legend(prop={'family':'Times New Roman', 'size': 12})\n",
    "        axes[i,j].set_xlabel(None)\n",
    "        axes[i,j].set_xticks(np.arange(4))\n",
    "        axes[i,j].set_xticklabels(x_label,fontdict={'family':'Times New Roman', 'size': 11})\n",
    "        axes[i,j].set_yticks(np.array([0,0.2,0.4,0.6,0.8,1]))\n",
    "        axes[i,j].set_yticklabels(np.array([0,0.2,0.4,0.6,0.8,1]),fontdict={'family':'Times New Roman', 'size': 12})\n",
    "        if j==0:    \n",
    "            axes[i,j].set_ylabel(y_label[i],fontdict={'family':'Times New Roman', 'size': 15})\n",
    "        else:\n",
    "            axes[i,j].set_ylabel(None)\n",
    "        if i==0:\n",
    "            axes[i,j].set_title(titles[j],fontdict={'family':'Times New Roman', 'size': 15})\n",
    "\n",
    "fig.savefig('./output/baseline_box.jpg',dpi=1200,bbox_inches='tight')  \n",
    "plt.show()    "
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "527a93331b4b1a8345148922acc34427fb7591433d63b66d32040b6fbbc6d593"
  },
  "kernelspec": {
   "display_name": "Python 3.8.12 ('pytorch')",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.13"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
